【发布时间】:2019-10-15 02:42:09
【问题描述】:
我正在解决一个问题,该问题需要我将浮点数的十六进制和二进制 FP16 表示转换为十进制浮点数。我还需要将十进制浮点数转换为 FP16 十六进制和二进制表示。
FP32 数字的转换有很多解决方案。但我特别需要FP16 表示。
我已经找到了 FP16 二进制转十进制浮点数的解决方案:
a = struct.pack("H",int("0010100011110101",2))
float = np.frombuffer(a, dtype =np.float16)[0]
基本上我想要的是:
FP16 二进制 -> 十进制浮点数 (0010100011110101 -> 0.0387268066)
FP16 十六进制 -> 十进制浮点数 (28f5 -> 0.0387268066)
十进制浮点数 -> FP16 二进制 (0.0387268066 -> 0010100011110101)
十进制浮点数 -> FP16 十六进制 (0.0387268066 -> 28f5)
【问题讨论】:
标签: python struct binary formatting hex