【问题标题】:invalid token with hex() [closed]带有 hex() 的无效令牌 [关闭]
【发布时间】:2019-12-24 07:30:57
【问题描述】:

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

000000000001

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

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

但我没有:

>>> hex(0000000000000000)
'0x0'

如果它们以零开头,如何传递一些数字?

【问题讨论】:

  • 整数中的前导零(0 本身以及前缀0x0o0b 当然)是python 3 中的语法错误。请参阅doc
  • @hiroprotagonist ,但我没有得到 000000000000 的错误,我没有使用 0b
  • 0 本身有效。正如文档所述:请注意,非零十进制数中的前导零是不允许的。

标签: python-3.x binary hex


【解决方案1】:

您必须执行以下步骤:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-01
    • 2012-03-12
    • 1970-01-01
    • 2011-11-27
    • 2013-11-09
    • 2017-09-30
    相关资源
    最近更新 更多