Python 3.x 具有十六进制()的无效令牌

Python 3.x 具有十六进制()的无效令牌,python-3.x,binary,hex,Python 3.x,Binary,Hex,我有一组二进制数,其中一些以0开头,例如: 000000000001 当我使用hex(000000000001)时,我得到以下错误: >>> hex(0000000000000001) File "<stdin>", line 1 hex(0000000000000001) ^ SyntaxError: invalid token 如果数字以零开头,如何传递这些数字?您必须执行以下步骤: string_o

我有一组二进制数,其中一些以0开头,例如:

000000000001
当我使用
hex(000000000001)
时,我得到以下错误:

>>> hex(0000000000000001)
  File "<stdin>", line 1
    hex(0000000000000001)
                       ^
SyntaxError: invalid token

如果数字以零开头,如何传递这些数字?

您必须执行以下步骤:

string_of_bits = '0b' + '000000000001' 
hex(int(string_of_bits,2))

您必须执行以下步骤:

string_of_bits = '0b' + '000000000001' 
hex(int(string_of_bits,2))

整数中的前导零(除了
0
本身和前缀
0x
0o
0b
当然)是python 3中的语法错误。请参阅。@hiroprotation,但我没有得到000000000000的错误,我没有使用
0b
0
本身。正如文档所述:请注意,不允许在非零十进制数中使用前导零。整数中的前导零(除了
0
本身和前缀
0x
0o
0b
当然)在python 3中是语法错误。请参阅。@hiroprotation,但我没有得到000000000000的错误,我没有使用
0b
0
本身。如文档所述:注意,不允许在非零十进制数中使用前导零。