首頁  >  文章  >  後端開發  >  如何在Go語言中進行進制轉換

如何在Go語言中進行進制轉換

PHPz
PHPz原創
2023-04-11 09:11:022219瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn