首页 > 解决方案 > 将十六进制输出转换为最多 53 位(0 或 1 个值)的二进制

问题描述

我有以下十六进制输出:-0x1.4002000000000p+10

我想将该输出转换为不超过 53 位(0 或 1 个值)的二进制形式。因此,所需的输出是:1.01000000000000100000000000000000000000000000000000000

我尝试了以下代码:

f'{-0x1.4002000000000:0<54b}'

但它返回以下错误:

File "<fstring>", line 1
    (-0x1.4002000000000)
                      ^
SyntaxError: invalid syntax

我究竟做错了什么?

标签: pythonbinaryhexbit

解决方案


Python 不支持小数的十六进制。“x = 0x1.2”引发和错误。如果你去掉小数位,你可以做到这一点。

f'{0x14002:0<54b}'

推荐阅读