编写一个 Golang 程序,将二进制数转换为十进制数
例子
输入binary_num=1010111=>十进制数=64+0+16+4+2+1=87
输入binary_num=10101=>十进制数=21
解决这个问题的方法
第一步:定义一个接受二进制数的函数,binary_num,声明decimalNum=0,index=0
第2步:开始for循环,直到binary_num变为0。
步骤3:找到binary_num的余数并除以10。
步骤4:使用decimalNum和regression*pow(2,index)计算十进制数。
第五步:返回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