python - 从 numpy 获取 IEEE754 字节表示
问题描述
有没有办法使用 numpy 从浮点值运算中获取十六进制表示?如果可能的话,我想避免使用字符串。
例如:
1.1
在单精度十六进制表示中是0x3F8CCCCD
1.1
双精度十六进制表示是0x3FF199999999999A
理想情况下,我希望能够执行以下操作:
numpy.function(value)
返回
hex representation
有什么好方法可以做到这一点?
解决方案
您可以使用view
numpy 数组的方法来执行相当于 C 转换的操作。另一种方法是使用float.hex
比原始帖子中显示的更人性化的十六进制表示。
示例程序:
import numpy as np
d = np.array(1.1)
i = d.view('int64')
print(f'double: {d}')
print(f'cast to int: {i}')
print(f'hex: 0x{i.item():016x}')
print(f'floathex: {float.hex(d.item())}')
输出:
double: 1.1
cast to int: 4607632778762754458
hex: 0x3ff199999999999a
floathex: 0x1.199999999999ap+0
推荐阅读
- javascript - Telegram bot api 控制台 chrome
- r - 如果 Excel 中的日期列为空,R 在 read_excel() 期间将 Excel 日期列数据类型更改为逻辑
- variables - 无法加载导入的项目文件。根级别的数据无效。第 1 行,位置 1。”
- javascript - 类型错误:类型“字符串”不可分配给类型“颜色”
- python - 尝试通过第二个元素的值(在循环内)调用元组的第一个元素
- sqlite - 检查类型时“WHERE”附近的 SQLite 语法错误
- bootstrap-table - Bootstrap-Table DetailFormatter 行在导出时折叠
- react-native - 仅在右上角的反应原生阴影框
- github - 有没有办法重新运行 github 操作?
- sql - Laravel 控制器:在函数中翻译 SQL SELECT DISTINCT 语句