ヘッダー
Python サンプル集
 

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

2022/11/6

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

 

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

先頭に 0x または 0X を付けた数値リテラルは16進数 で解釈されます。 (0x は 数字のゼロ と エックス です。)

#標準的な方法。0x123 は 16進数なので10進数表記だと 291 です。
i1 = 0x123
print(i1) # 291 と出力されます。

#16進数なので、A~F の文字も使えます。
i2 = 0xB2
print(i2) # 178 と出力されます。

#お好みの位置に _ を追加して見やすく整えることができます。
i3 = 0x47_A6_BC # 0x47A6BC と表記しても同じです。
print(i3) # 4695740 と出力されます。


#おまけ。16進数表記の文字列に変換するには、書式指定子 X を使用します。
s1 = f'{i3:X}'
print(s1); # 47A6BC と出力されます。

メモ:2進数は 0b または 0B で表記できます。8進数は 0o または 0O で表できます。(1文字目はゼロ、2文字目はオー)。

 

 

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

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

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

if (0xFF == 255):
    print('同じ値です。') # ←実行するとこれが出力されます。