編寫 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

更新於: 2021 年 2 月 4 日

2K+ 次瀏覽

開啟你的 職業生涯

完成課程認證

開始
廣告
© . All rights reserved.