^
Pythonの xor 演算子 ( ) に次の問題があります。leta = 10100111
との 2 つの 2 進数がありb = 10000000
ます。xor 演算子を使用すると、
print (10000000 ^ 10100111)
00100111 の代わりに 166671 の結果が得られます。
print (100 ^ 101)
1 (001) のバイナリで適切な結果が得られます。使っても
print int(a) ^ int(b)
私はまだ166671の結果を得ています。
質問:
00100111 のバイナリ結果ではなく、166671 の結果が得られるのはなぜですか?
100^101 を使用すると適切な結果が得られるのはなぜですか?
Python バージョン 2.7.2 を実行しています。