获取数字(int、float或double)的binary32表示形式的Python方法



与Python int到二进制字符串相关?,我想知道一种Python方法来获得int、float或double数字的IEEE-754二进制32表示。

例如,42.0将转换为1 10000100 01010 000000000000000000

试试这个:

import struct
getBin = lambda x: x > 0 and str(bin(x))[2:] or "-" + str(bin(x))[3:]
def floatToBinary32(value):
val = struct.unpack('I', struct.pack('f', value))[0]
return getBin(val)
binstr = floatToBinary32(42.0)
print('Binary equivalent of 42.0:')
print(binstr + 'n')

最新更新