Convertクラスを使うことにより、基数を指定して文字列と数値の相互変換を行うことができます。 これにより、例えば16進数表記の文字列を数値にする、あるいはその逆といったことができます。 基数として指定できる値は、2, 8, 10, 16のいずれかです。
Convertクラスを使って数値の基数変換を行う
Imports System
Class Sample
Shared Sub Main()
Console.WriteLine("(128)10 = ({0})2", Convert.ToString(128, 2)) ' 10進数の値128を2進数で表記された文字列に変換
Console.WriteLine("(128)10 = ({0})16", Convert.ToString(128, 16)) ' 10進数の値128を16進数で表記された文字列に変換
Console.WriteLine()
Console.WriteLine("b100 = {0}", Convert.ToInt32("100", 2)) ' 文字列"100"を2進数で表された数値としてintに変換
Console.WriteLine("&H100 = {0}", Convert.ToInt32("100", 16)) ' 文字列"100"を16進数で表された数値としてintに変換
End Sub
End Class
実行結果
(128)10 = (10000000)2 (128)10 = (80)16 b100 = 4 0x100 = 256
16進数形式で表記した文字列は、ToStringメソッドに書式指定子X
を指定することでも得られます。 具体例は§.16進整数リテラルを参照してください。
また、.NET 8以降であれば、書式指定子B
を指定することで2進数形式で表記した文字列を得ることができます。 具体例は§.2進整数リテラルを参照してください。
Convertクラスや、他の手段による基数変換についてはビット演算 §.数値・文字列間での基数変換にて詳しく解説しています。