Pythonによる8進数変換の解説
整数を8進数に変換
Pythonでは、整数を8進数に変換するには、組み込み関数`oct()`を使用します。この関数は、整数を8進数の文字列として返します。
# 整数を8進数に変換
num = 123
octal_num = oct(num)
print(octal_num) # 出力: 0o173
上記の例では、整数123を8進数に変換し、`0o173`という形式で表示されています。ここで、`0o`は8進数であることを示すプレフィックスです。
8進数を整数に変換
8進数を整数に変換するには、`int()`関数を使います。`int()`関数は、変換元の文字列と基数(この場合は8)を指定することで、8進数を整数に変換できます。
# 8進数を整数に変換
octal_str = '0o173'
decimal_num = int(octal_str, 8)
print(decimal_num) # 出力: 123
上記の例では、`’0o173’`という8進数の文字列を整数に変換しています。結果として、123という整数が得られます。
8進数を2進数に変換
8進数を2進数に変換するには、まず8進数を整数に変換し、その整数を`bin()`関数で2進数に変換します。
# 8進数を2進数に変換
octal_str = '0o173'
decimal_num = int(octal_str, 8)
binary_num = bin(decimal_num)
print(binary_num) # 出力: 0b1111011
ここでは、8進数の`’0o173’`を整数に変換し、その後2進数に変換しています。出力は`0b1111011`という2進数の形式です。
8進数を16進数に変換
8進数を16進数に変換するには、8進数をまず整数に変換し、その後`hex()`関数を使用して16進数に変換します。
# 8進数を16進数に変換
octal_str = '0o173'
decimal_num = int(octal_str, 8)
hex_num = hex(decimal_num)
print(hex_num) # 出力: 0x7b
この例では、8進数の`’0o173’`を整数に変換し、その後16進数に変換しています。結果として、`0x7b`という16進数が得られます。