Python で 2 進数を 10 進数に変換する
Manav Narula
2021年2月12日
コンピュータサイエンスの世界では、2 進数と 10 進数の整数値をよく扱います。2 進数の値は 2 の基数を持ち、10 進数の値は 10 の基数を持ちます。
このチュートリアルでは、Python で 2 進数を整数に変換する方法を学びます。
Python では、バイナリ値はバイナリ表現の前に 0b
を接頭辞として付けて表現します。以下に示すように、バイナリを自動的に整数値に変換します。
a = 0b101
print(a)
出力:
5
int
関数でも同じ結果を得ることができます。整数値に変換するには、数値とその基底値を渡す必要があります(2 値の基底値は 2 であることを覚えておいてください)。
a = int("101", 2)
print(a)
出力:
5
Python の最近のバージョンの fstrings
は文字列をフォーマットする新しい効率的な方法です。これを使って、以下のようなバイナリから整数への変換を行うことができます。
print(f"{0b101:#0}")
出力:
5
ここで、0b101
は 2 進数であり、#0
は 10 進数に変換することを指定するために用いられます。
2 進数を整数に変換するための小さなユーザ定義関数を作成することもできます。次のコードスニペットはその方法を示しています。
def binary2int(binary):
int_val, i, n = 0, 0, 0
while binary != 0:
a = binary % 10
int_val = int_val + a * pow(2, i)
binary = binary // 10
i += 1
print(int_val)
binary2int(101)
出力:
5
著者: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn