精度浮点数到单精度的python 实现
- 1.python源码
- 2.示例
- 3.参考文献
实现原理可参考
3.参考文献部分。
1.python源码
代码输入参数s是字符串形式的16位二进数,如"0011010101010101"。
def halfpre2spre(s):
#s代表16位二进数,
sign=int(s[0])
res0=pow(-1,sign) #符号位
exp=int('0b'+s[1:6],2)# 指数位
endpre=s[6:] #尾部10位精度位
res2=0.0
for j in range(10):
res2+=int(endpre[j])*pow(2,-(j+1))
res=res0*pow(2,exp-15)*(1+res2)
return res
2.示例
当s="0011010101010101",
halfpre2spre(s)
Out: 0.333251953125