Python リテラルを使用して整数を 2 進数として表現するにはどうすればよいですか?
16 進数の答えは簡単に見つけられました。
>>> 0x12AF
4783
>>> 0x100
256
8進数:
>>> 01267
695
>>> 0100
64
Python でリテラルを使用してバイナリを表現するにはどうすればよいでしょうか?
回答の要約
- Python 2.5 以前: リテラルを使用してバイナリを表現できます
int('01010101111',2)
が、リテラルでは表現できません。 - Python 2.5 以前:バイナリリテラルを表現する方法はありません。
- Python 2.6 ベータ版: 次のように実行できます:
0b1100111
または0B1100111
。 0o27
Python 2.6 ベータ版: or0O27
(2 番目の文字は文字 O) を使用して 8 進数を表すこともできます。- Python 3.0 ベータ版: 2.6 と同じですが、8 進数の古い構文は使用できなくなります
027
。
ベストアンサー1
参考までに、 Python の将来の可能性:
Python 2.6 以降では、プレフィックス0bまたは0Bを使用してバイナリリテラルを表現できます。
>>> 0b101111
47
新しいbin関数を使用して、数値のバイナリ表現を取得することもできます。
>>> bin(173)
'0b10101101'
ドキュメントの開発バージョン:Python 2.6 の新機能