golang 是一門非常優秀的程式語言,其強大的功能和簡潔的語法使得它成為了越來越多開發者的選擇。在 golang 中,進位轉換是一個非常基礎、常用的操作,下面我們來一起了解 golang 中的進位轉換。
在 golang 中,常用的進制有二進制、八進制、十進制和十六進制。下面我們來看看如何在這些不同進制之間進行轉換。
1.十進位轉換為其他進位
在 golang 中,可以使用 fmt 套件中的 FormatInt 函數來將一個十進制數轉換為指定進位的字串。函數的原型如下:
func FormatInt(i int64, base int) string
其中,i 表示需要轉換的十進位數,base 是目標進制,可以是 2、8、10 或 16。例如,將十進制數18 轉換為二進制,程式碼如下:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) b := strconv.FormatInt(n, 2) fmt.Printf("2进制:%s ", b) }
運行結果為:
2进制:10010
在上面的程式碼中,使用strconv 的FormatInt 函數將十進制數18 轉換為2 進製字串,並將其列印出來。
類似的,我們可以將十進位轉換為其他進制,只需要改變 base 參數。例如將十進制數18 轉換為八進位或十六進制,程式碼如下:
package main import ( "fmt" "strconv" ) func main() { n := int64(18) o := strconv.FormatInt(n, 8) h := strconv.FormatInt(n, 16) fmt.Printf("8进制:%s ", o) fmt.Printf("16进制:%s ", h) }
運行結果為:
8进制:22 16进制:12
2.其他進位轉換為十進位
#在golang 中,可以使用strconv 套件中的ParseInt 函數將一個字串表示的數字轉換為十進位數。此函數的原型如下:
func ParseInt(s string, base int, bitSize int) (i int64, err error)
其中,s 表示待轉換的字串,base 表示s 的進制,可以為0、2、8、10 或16,bitSize 表示結果的位數,可以為0、8、16、32 或64。例如將二進制數10010 轉換為十進制,程式碼如下:
package main import ( "fmt" "strconv" ) func main() { b := "10010" n, _ := strconv.ParseInt(b, 2, 64) fmt.Printf("10进制:%d ", n) }
運行結果為:
10进制:18
在上面的程式碼中,使用strconv 的ParseInt 函數將二進位字串轉換為十進制數,並將其列印出來。
類似的,我們可以將其他進位的字串轉換為十進位數,只需要改變 base 參數。例如將八進位字串"22" 或十六進位字串"12" 轉換為十進制數,程式碼如下:
package main import ( "fmt" "strconv" ) func main() { o := "22" h := "12" on, _ := strconv.ParseInt(o, 8, 64) hn, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("8进制:%d ", on) fmt.Printf("16进制:%d ", hn) }
運行結果為:
8进制:18 16进制:18
透過上面的程式碼可以看出,在golang 中進行進位轉換非常方便。熟練進制轉換,對於 golang 開發工作不可或缺。
以上是golang 進位轉化的詳細內容。更多資訊請關注PHP中文網其他相關文章!