python - 如何使用 64 位 IEE754 将 bin 转换为 float,
问题描述
我会将浮点数转换为二进制 repr。然后转换回二进制 repr。漂浮在python
.
对于float to binary的第一部分,我使用Float to binary @Ozbolt 答案,
def float_to_bin(x):
if x == 0:
return "0" * 64
w, sign = (float.hex(x), 0) if x > 0 else (float.hex(x)[1:], 1)
mantissa, exp = int(w[4:17], 16), int(w[18:])
return "{}{:011b}{:052b}".format(sign, exp + 1023, mantissa)
哪个工作得很好,例如调用:
float_to_bin(10.24)
回答:
0100000000100100011110101110000101000111101011100001010001111011
但是如何扭转这个过程(做二进制浮动)?我期待类似的东西:
bin_to_float("0100000000100100011110101110000101000111101011100001010001111011")
哪个答案:
10.24
解决方案
推荐阅读
- ios - MTLDevice 类需要 id<>
- authentication - 无法创建操作“你好”:提供的身份验证无效
- android - 实施重要运动传感器的正确方法是什么?
- tensorflow - Keras 和 tensorflow 急切执行
- ldap - 如何组织 LDAP 组和帐户?
- sql - 如何使用 SQL 查询转换字符串中的日期格式?
- html - 这是CSS中的错误吗?
- android - HandlerThread 抛出 RuntimeException 每个线程只能创建一个 Looper
- mysql - 将大量数据从 MySQL 导入 Elasticsearch
- html - CSS 的替代方案:有伪类吗?