Python では 2 進数や 16 進数を扱うことができます.2 進数でデータを入力するには先頭に 0b
または 0B
を付与します.例えば,2 進数の 10 は 10 進数で 2 になります.
a = 0b10
a
2
2 進数の 1111 1111 は 10 進数で 255 になります.
a = 0B11111111
a
255
16 進数でデータを入力するには先頭に 0x
または 0X
を付与します.例えば 16 進数の A0 は 10 進数では 160 になります.
a = 0xA0
a
160
大文字と小文字の区別はないので,次のような入力でも同じ結果が得られます.
a = 0Xa0
a
160
16 進数の FF は 10 進数で 255 です.
a = 0xFF
a
255
次は,2 進数や 16 進数の表記で変数の値を出力します.2 進数表記で出力するには bin()
関数を利用します.
a = 100
bin(a)
'0b1100100'
もちろん print()
関数の中で bin()
を利用することも可能です.なお上の結果では ''
で囲われて表示されましたが,この方法では囲われないことに注意してください.
a = 100
print(bin(a))
0b1100100
また,次のように記述することで,8 桁に不足するビットを 0 で埋めることができます.
print('{:#010b}'.format(a))
0b01100100
16 進数表記で出力するには hex()
関数を利用します.
a = 255
hex(a)
'0xff'
ここでも print()
関数を使うことも可能です.
a = 240
print(hex(a))
0xf0