Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我们如何得到这个逐位运算的答案?_Python - Fatal编程技术网

Python 我们如何得到这个逐位运算的答案?

Python 我们如何得到这个逐位运算的答案?,python,Python,我知道如何得到答案,但“或”部分后的最后一部分令人困惑 print((0b1101&~1)|(033>>0x2)) 我知道如何得到答案,但最后一部分在“或”部分之后| 这令人困惑 print((0b1101&~1)|(033>>0x2)) 此语句:(033>>0x2) 正在取十进制数为27的八进制数033,然后将其右移2。这其中的哪一部分让您感到困惑?欢迎使用堆栈溢出。不幸的是,你的问题不清楚。你是在问>做什么?或者数字上的0x前缀是什么意思?请尽可能

我知道如何得到答案,但“或”部分后的最后一部分
令人困惑

print((0b1101&~1)|(033>>0x2))
我知道如何得到答案,但最后一部分在“或”部分之后| 这令人困惑

print((0b1101&~1)|(033>>0x2))
此语句:
(033>>0x2)


正在取十进制数为27的八进制数
033
,然后将其右移2。

这其中的哪一部分让您感到困惑?欢迎使用堆栈溢出。不幸的是,你的问题不清楚。你是在问
>
做什么?或者数字上的
0x
前缀是什么意思?请尽可能清楚。如果我们不理解你的问题,我们就帮不了你。请看。当我运行这段代码时,我得到了一个
SyntaxError
。@Chris:这是否意味着python 2中的
033
被认为是八进制?@quamrana,还有。是的,但我在我的计算器中得到的最终答案是15,而在python 2中它是14,我已经在论文中对此进行了研究,我仍然得到了15:(
0b1101&~1==0b1101&0b1110==0b1100==0xC==12
,就像我在我的回答中说的那样,
033>>0x2==27>>2==27/4==6
现在我们有了
12 | 6==0b1100 | 0b0110==0xE==14
亲爱的先生,如果你不介意的话,为什么否定1的二进制值是1110呢? 匹配左侧操作数,在本例中,位长度为4,因此
~0b0001==0b1110
,但如果左侧操作数的位长度为5,则它将为
~0b00001==0b11110
,依此类推