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