Pythonでのバイナリリストから整数へ
さまざまなアプローチを使用して、Pythonで2進数を表す0と1のリストを10進数に変換できます。以下の例では、int()メソッドとビット単位の左シフト演算子を使用しています。
int()の使用
int() メソッドは2つの引数を取り、以下の構文に従って入力のベースを変更します。
int(x, base=10) Return an integer object constructed from a number or string x.
次の例では、int()メソッドを使用してリストの各要素を文字列として取得し、それらを結合して、基数10の整数に変換される最終的な文字列を形成します。
例
List = [0, 1, 0, 1, 0, 1] print ("The List is : " + str(List)) # binary list to integer conversion result = int("".join(str(i) for i in List),2) # result print ("The value is : " + str(result))
上記のコードを実行すると、次の結果が得られます-
The List is : [1, 1, 0, 1, 0, 1] The value is : 53
ビット単位の左シフト演算子の使用
ビット単位の左シフト演算子は、バイナリ形式にゼロを追加した後、指定された数字のリストを整数に変換します。次に、ビット単位またはを使用してこの結果に追加します。 forループを使用して、リスト内の各数字を繰り返し処理します。
例
List = [1, 0, 0, 1, 1, 0] print ("The values in list is : " + str(List)) # binary list to integer conversion result = 0 for digits in List: result = (result << 1) | digits # result print ("The value is : " + str(result))
上記のコードを実行すると、次の結果が得られます-
The values in list is : [1, 0, 0, 1, 1, 0] The value is : 38
-
Pythonでのローマ字から整数へ
ローマ字のリテラルがあるとします。それらを整数に変換する必要があります。私たちが知っているように、ローマ数字は以下のようにいくつかの異なる記号で表されます- 数字 値 私 1 V 5 X 10 L 50 C 100 D 500 M 1000 ローマ数字をよく見ると、数字が「II」であると仮定しているようなものです。つまり、これは2であり、2つの「I」が足し合わされています。 XIIの場合は12なので、実際にはX + II =10 + 2 =12です。4のローマ数字はIIIIではなく、IVです。これは
-
Pythonのbin()
bin()関数は、10進数を2進数に変換します。変換するパラメータとして正または負の整数を使用できます。 構文 以下は関数の構文です。 bin(n) Parameters : an integer to convert Return Value : A binary string of an integer or int object. Exceptions : Raises TypeError when a float value is sent as argument. 次の例では、正と負の整数を2進数に変換します。結果には接頭辞0bが付いており、数値が2進表現であることを示しています