我在python中对000和111执行xor操作。我希望这能输出3位,如下所示:
One: 1 1 1
Two: 0 0 0
XOR: 1 1 1
相反,它输出6位。发生了什么事?
print '{0:b}'.format(000^111)
'1101111'
答案 0 :(得分:1)
当您按原样使用000
和111
时,它们会被视为普通整数,而您正在执行的操作是0^1101111
,显然是1101111
{1}}(二进制)。
要使用二进制111
,您需要使用0bxxxx
表单(类似于0x___
的十六进制方式):
print '{0:b}'.format(0b0^0b111)