我希望在显示浮点值(或者在内存中更连续的)的原始字节时有一个非常简单的解决方案。在我的理解中,这被命名为类型转换(读取字节中的内存值)不被误解为转换(读取值并以字节解释)。用于类型转换的python轻量级解决方案float(64)转换为字节
最简单的测试似乎是:
import numpy
a=3.14159265
print(a.hex())
# Returns 0x1.921fb53c8d4f1p+1
b=numpy.array(a)
print(b.tobytes())
# returns b'\xf1\xd4\xc8S\xfb!\[email protected]'
# expected is something like 'F1' 'D4' 'C8' '53' 'FB' '21' '09' '40'
但是该方法十六进制()返回在十六进制的IEEE FLOAT represantation解读。第二种方法显示四个十六进制字节标记\x
,但我想作为一个float64应读取8个字节。此外,我想知道其他角色。
我很好的老简单的CI将实现,通过简单地使用浮点内存地址的无符号int指针,并从该无符号整数“数组”(指针)打印8值
我知道,我可以使用C在蟒蛇 - 但有其他简单的解决方案吗?
也许是有趣的:我需要这个函数来将许多大的浮点向量保存到BLOB中。
我觉得,类似的问题可以在Correct interpretation of hex byte, convert it to float阅读中找到,如果可能的话(可显示的字符)它们不会被打印在\x
-form中。我该如何改变它?