Golang程序 将二进制数字转换为十进制形式

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程