我对0中领先的0b10101000感到困惑:

它似乎不是标志符号。

In [1]: bin(168)
Out[1]: '0b10101000'

In [2]: int(bin(168), 2)
Out[2]: 168


我认为这应该足够了,并且说b10101000肯定会更简洁。

为什么需要前导0

最佳答案

请勿将二进制文字与变量混淆。

您可以使用任何基数(例如0b->二进制,0x->十六进制)将数字表示为文字。

0b100
>>>4

0x100
>>>256


当没有前导0时,就会出现问题。Python的变量命名约定是,它必须以字母字符开头。如果前导0,则解释器可以判断它是文字还是变量。

关于python - 为什么在二进制文字(例如“0b10101000”)中需要前导0?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54121237/

10-12 21:17