首页 > 解决方案 > 如何使用 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

标签: pythonfloating-pointbinary

解决方案


推荐阅读