python - 将十六进制输出转换为最多 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
我究竟做错了什么?
解决方案
Python 不支持小数的十六进制。“x = 0x1.2”引发和错误。如果你去掉小数位,你可以做到这一点。
f'{0x14002:0<54b}'
推荐阅读
- ios - 如何修复它以使我的文本标签在以编程方式添加文本标签时不会在顶部被切断?
- angular - 单击标记时打开弹出窗口
- java - 转换为日期时间格式“2020-02-11T17:26:31-05:00”
- php - 试图清除仅出现一次的数组
- python - 按列表条目过滤 RavenDB 查询
- azure - Azure DevOps 中发布管道项目的文件模式
- html - 下拉菜单定位和样式
- java - 更改 jsonArray 中的字符串而不在引号前添加额外的斜杠
- c# - 如何在restrequest c#中分配json中的变量
- migration - 如何将带有 ir.actions.server 的自定义子菜单从 Odoo9 迁移到 Odoo12?