编写 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
广告