1:Pythonの場合
出典:[解決!Python]整数値(10進数値)を2進数表現に変換するには
https://atmarkit.itmedia.co.jp/ait/articles/2402/27/news029.html
■10進数を2進数に変換
○bin関数による方法
n = 481 #Decimal
result_10to2 = bin(n) #str_binary
print(result_10to2) # 0b111100001
print(type(result)) # <class 'str'>
○format関数による方法
result = format(n, 'b')
print(result) # 111100001
○4桁ごとにアンダースコアを含めたい
n = 481
result = f'{n:#016_b}' # 4桁ごとにアンダースコアを含める
print(result) # 0b0001_1110_0001
result = f'{n:#08_b}' # widthオプションに8を指定して0埋め
print(result) # 0b1_1110_0001
■2進数を10進数に変換
出典:Pythonで2進数、8進数、16進数の数値・文字列を相互に変換
■整数を2進数、8進数、16進数で記述
○プレフィックス0b, 0o, 0xをつけると、整数型intの数値を
それぞれ2進数、8進数、16進数で記述できる。
print()での出力は10進数表記になる。
bin_num = 0b10
oct_num = 0o10
hex_num = 0x10
print(bin_num) #2
print(oct_num) #8
print(hex_num) #16
■数値を2進数、8進数、16進数表記の文字列に変換
組み込み関数bin(), oct(), hex()
i = 255
print(bin(i)) # 0b11111111
print(oct(i)) # 0o377
print(hex(i)) # 0xff
■2進数、8進数、16進数表記の文字列を数値に変換
2進数、8進数、16進数表記の文字列を数値に変換するには、組み込み関数int()を使う。
基数を0にすると、文字列のプレフィックス(0b, 0o, 0xまたは0B, 0O, 0X)をもとに変換される。
print(int('0b10', 0)) # 2
print(int('0o10', 0)) # 8
print(int('0x10', 0)) # 16