Golang (Go 言語とも呼ばれる) は、Google によって開発および保守されているオープンソース プログラミング言語です。 Golang における塩基変換は非常に基本的な操作です。この記事ではGolangを使って塩基変換する方法を紹介します。
まず、10 進数を 2 進数、8 進数、16 進数などの他の基数に変換する方法を見てみましょう。 Golang では、このタスクは fmt パッケージの Printf() 関数を使用して簡単に実行できます。以下は、10 進数の 13 を 2 進数、8 進数、および 16 進数に変換するサンプル コードです。
package main
import "fmt"
func main() {
n := 13 fmt.Printf("13的二进制表示为:%b\n", n) fmt.Printf("13的八进制表示为:%o\n", n) fmt.Printf("13的十六进制表示为:%x\n", n)
}
出力結果は次のとおりです。
13 の 2 進表現は次のとおりです。 1101
13 の 8 進表現は 15
13 の 16 進表現です。 as: d
次に、2 進数、8 進数、16 進数を 10 進数に変換する方法を見てみましょう。これは、Golang の strconv パッケージを通じて実現できます。このパッケージには、さまざまな基数の整数を解析する関数など、多くの文字列関連関数が提供されます。以下は、2 進数 1101、8 進数 15、および 16 進数 d を 10 進数に変換するコード例です。
package main
import (
"fmt" "strconv"
)
func main() {
b := "1101" dec1, _ := strconv.ParseInt(b, 2, 64) fmt.Printf("%s的十进制表示为:%v\n", b, dec1) o := "15" dec2, _ := strconv.ParseInt(o, 8, 64) fmt.Printf("%s的十进制表示为:%v\n", o, dec2) h := "d" dec3, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("%s的十进制表示为:%v\n", h, dec3)
}
出力結果は次のとおりです。
1101 の 10 進表現は次のとおりです。 13
の 10 進表現15 は次のとおりです: 13
d の 10 進数表現は次のとおりです: 13
10 進数間の変換に加えて、Golang は次の方法も提供します。塩基間で変換します。 strconv パッケージのitoa() 関数は整数を文字列に変換でき、FormatInt() 関数は整数を特定の基数の文字列に変換できます。以下は、16 進数 d を 2 進数または 8 進数に変換するサンプル コードです。
package main
import (
"fmt" "strconv"
)
func main( ) {
h := "d" //将十六进制数d转换为二进制 dec, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("%s的二进制表示为:%b\n", h, dec) //将十六进制数d转换为八进制 oct, _ := strconv.ParseInt(h, 16, 64) fmt.Printf("%s的八进制表示为:%o\n", h, oct)
}
出力結果は次のとおりです。
d の 2 進数表現は 1101
d の 8 進数表現は 15
以上がGolang の塩基変換方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。