編寫 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言
C++
C#
MongoDB
MySQL
Javascript
PHP