Python で 2 進数を 10 進数に変換する

Manav Narula 2021年2月12日
Python で 2 進数を 10 進数に変換する

コンピュータサイエンスの世界では、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 Narula avatar Manav Narula avatar

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

関連記事 - Python Binary

関連記事 - Python Integer