ヘッダー
Visual Basic サンプル集
VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

16進数で数値リテラルを表記する

2022/9/4

→ C# のサンプルに切り替える → Python のサンプルに切り替える

 

16進数で数値リテラルを表記する

先頭に &H を付けた数値リテラルは16進数 で解釈されます。

VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

'標準的な方法。&H123 は 16進数なので10進数表記だと 291 です。
Dim i1 As Integer = &H123
Debug.WriteLine(i1) ' 291 と出力されます。

'16進数なので、A~F の文字も使えます。
Dim i2 As Integer = &HB2
Debug.WriteLine(i2) ' 178 と出力されます。

'お好みの位置に _ を追加して見やすく整えることができます。
Dim i3 As Integer = &H47_A6_BC ' &H47A6BC と表記しても同じです。
Debug.WriteLine(i3) ' 4695740 と出力されます。


'おまけ。16進数表記の文字列に変換するには、書式指定子 X を使用します。
Dim s1 As String = $"{i3:X}"
Debug.WriteLine(s1) ' 47A6BC と出力されます。

Debug.WriteLineが表示される場所

メモ: 2進数は &B 、 8進数は &O で表記できます。「&O」はアンドと英語のオーです。

 


参考:10進数で表記しても16進数で表記しても同じ値です。

令和4年が西暦の2022年と同じであるように、同じ値を10進数と16進数のどちらで表記しても同じです。

このプログラムでは &HFF と 255 が表記方法が違うだけで、同じであることが確認できます。

VB.NET2002対応 VB.NET2003対応 VB2005対応 VB2008対応 VB2010対応 VB2012対応 VB2013対応 VB2015対応 VB2017対応 VB2019対応 Visual Studio 2022

If &HFF = 255 Then
    Debug.WriteLine("同じ値です。") ' ←実行するとこれが出力されます。
End If

Debug.WriteLineが表示される場所

 


VB6対応 VB6でも同じです。 &Hを付けると16進数になります。