方法1: int関数を使用する方法
binary_string = '1101'
decimal_number = int(binary_string, 2)
print(decimal_number)
出力:
13
上記のコードでは、int関数を使用してbinary_string
を整数に変換しています。2番目の引数として、基数(ここでは2)を指定しています。
方法2: bin関数とeval関数を使用する方法
binary_string = '1101'
decimal_number = eval('0b' + binary_string)
print(decimal_number)
出力:
13
上記のコードでは、'0b' + binary_string
を評価するためにeval関数を使用しています。'0b'
はPythonのバイナリ表記を示すプレフィックスです。
方法3: ビットシフト演算子を使用する方法
binary_string = '1101'
decimal_number = 0
for digit in binary_string:
decimal_number = (decimal_number << 1) | int(digit)
print(decimal_number)
出力:
13
上記のコードでは、ビットシフト演算子<<
を使用して、バイナリ文字列を整数に変換しています。各桁の値を取得して、それを左シフトし、最後にOR演算子|
を使用してビットを結合します。
これらの方法を使用すると、Pythonでバイナリ文字列を整数に簡単に変換することができます。どの方法を選択するかは、コードの読みやすさやパフォーマンスの要件によって異なります。