话不多说 ,直接上代码
import decimal
def convertDouble2Bin(double):
"""
function:将十进制双精度数转化为内存中存储的二进制数
eg: convertDouble2Bin(double)
return:内存中的二进制串
double in sram:
1 | 2-12 | 13-64
符号位 指数位 尾数位
"""
bit = 63 #0的double型移码 :01111111111,指数位下限为0000000000000,故最多计算63位二进制小数位(53位尾数+10位指数)
negative = 0
if double < 0:
negative = 1
double = -1 * double
#Separate integer and decimal
integer = int(double) # 整数部分
decimalPart = decimal.Decimal(str(double)) - integer # 小数部分
integer_convert = "" # 转化后的整数部分
decimal_convert = &