为什么返回10010而不是00001?
0110 >> 2 // 10010
我认为这些位会向右移动2次,但事实并非如此。我期望的输出是
0001
或1,但我却得到了0。为什么是这样? 最佳答案
0110是一个八进制常量,因为它以零开头:
>>> 0110
72
>>> 0110 >> 2
18
>>> bin(_)
'0b10010'
这是Python,但许多其他具有八进制常量的语言(Java,C,JavaScript等)也是如此。并非所有语言都提供二进制常量。如果没有它们,则可以改用十六进制常量(例如0b0110为0x6)。