编写 Go 语言程序将二进制数转换为十进制数


示例

  • 输入 binary_num = 1010111 => 十进制数 = 64+0+16+4+2+1 = 87
  • 输入 binary_num = 10101 => 十进制数 = 21

解决此问题的方案

  • 步骤 1:定义一个函数,该函数接受一个二进制数 binary_num,声明 decimalNum = 0,index = 0
  • 步骤 2:开始循环,直到 binary_num 变成 0。
  • 步骤 3:求出 binary_num 的余数并除以 10。
  • 步骤 4:使用 decimalNum 和 remainder*pow(2, index) 计算十进制数。
  • 步骤 5:返回 decimalNum。

程序

在线演示

package main
import (
   "fmt"
   "math"
)
func binaryToDecimal(num int) int {
   var remainder int
   index := 0
   decimalNum := 0
   for num != 0{
      remainder = num % 10
      num = num / 10
      decimalNum = decimalNum + remainder * int(math.Pow(2, float64(index)))
      index++
   }
   return decimalNum
}
func main(){
   fmt.Println(binaryToDecimal(1))
   fmt.Println(binaryToDecimal(10))
   fmt.Println(binaryToDecimal(101))
   fmt.Println(binaryToDecimal(101011))
}

输出

1
2
5
43

更新于: 2021 年 2 月 4 日

2K+ 次浏览

开启你的 职业生涯

完成课程认证

开始
广告