Go語言是一種開源的程式語言,可以用來快速開發簡單、可靠的程式。在Go語言的開發過程中,經常需要進行進位轉換。本文將講解如何在Go語言中進行進制轉換。
十進制轉二進制
在Go語言中,可以使用 strconv 套件將十進制數轉換為二進制數。
package main import ( "fmt" "strconv" ) func main() { num := 10 binary := strconv.FormatInt(int64(num), 2) fmt.Println(num, "的二进制表示为", binary) }
以上程式碼會輸出:
10 的二进制表示为 1010
strconv.FormatInt() 函數將一個十進制數轉換為二進位字串。此函數的第一個參數是要轉換的數值,第二個參數是目標進制,在本例中是2。
二進位轉十進位
如果需要將一個二進位數值轉換為十進位數值,也可以使用 strconv 套件。
package main import ( "fmt" "strconv" ) func main() { binary := "1010" num, _ := strconv.ParseInt(binary, 2, 64) fmt.Println(binary, "的十进制表示为", num) }
以上程式碼會輸出:
1010 的十进制表示为 10
strconv.ParseInt() 函數將一個字串解析為一個整數。此函數的第一個參數是要解析的字串,第二個參數是目標進制,本例是2,第三個參數是結果類型的位數,本例是64位元整數。
十進制轉十六進位
在Go語言中,strconv套件也提供了將十進制數轉換為十六進位數的函數:
package main import ( "fmt" "strconv" ) func main() { num := 33752069 hex := strconv.FormatInt(int64(num), 16) fmt.Println(num, "的十六进制表示为", hex) }
以上程式碼會輸出:
33752069 的十六进制表示为 2030405
strconv.FormatInt() 函數將一個十進制數轉換為十六進位字串。此函數的第一個參數是要轉換的數值,第二個參數是目標進制,本例是16。
十六進位轉十進位
如果需要將一個十六進位數值轉換為十進制數值,同樣可以使用 strconv 套件。
package main import ( "fmt" "strconv" ) func main() { hex := "2030405" num, _ := strconv.ParseInt(hex, 16, 64) fmt.Println(hex, "的十进制表示为", num) }
以上程式碼會輸出:
2030405 的十进制表示为 33752069
strconv.ParseInt() 函數將一個字串解析為一個整數。此函數的第一個參數是要解析的字串,第二個參數是目標進制,本例是16,第三個參數是結果類型的位數,本例是64位元整數。
總結
本文介紹了Go語言中如何進行進位轉換。透過 strconv 套件,我們可以輕鬆地將十進制數轉換為其他進制數,或將其他進制數轉換為十進制數。這是Go語言程式設計中十分常見的技能之一。
以上是如何在Go語言中進行進制轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!