编写一个 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