1

ガベージ '-0bx' の代わりに、実際のビット表現を取得する方法はありますか? 私は実際にビットを見ることができる必要があります。ビッグ/リトルエンディアンであるかどうかは関係ありません。これは課題用です。Pythonで整数の実際の2の補数ビット表現を表示する方法を知っている人はいますか?

4

2 に答える 2

4

数値はビット範囲に制限されていないため、正規の「ビット」表現はありません。たまたま意図したビット範囲に応じて、出力は 、 、 などになり0b1ます0b111111110b1111111111111111

以下はあなたが望むものを与えるでしょうか?

> x = -1
> print(bin(x & 0xffffffff)) # 32-bit output
0b11111111111111111111111111111111

注: これは0、Ned の提案が行うように、固定長を与えるために es をパディングしません。

于 2012-10-29T13:16:20.620 に答える
4
>>> x = -1
>>> "{:032b}".format(x & 0xffffffff)
'11111111111111111111111111111111'
于 2012-10-29T13:21:07.580 に答える