怎样把十进制的小数转化成二进制的定点小数?

2025-03-13 08:00:14
推荐回答(1个)
回答1:

所谓二进制定点小数,必须事先规定总长多少位,小数部分占多少位。
假设总长8位,小数部分占其中3位的话,3.75d=00011.110b。
具体转换过程:
3/2=1 余数1
1/2=0 余数1
3d=11b=00011b,高位添0补充到5位(总长8位,小数占3位,则整数占5位)
0.75*2=1.5 整数1,小数部分为0.5,继续转换
0.5=2=1.0 整数1,小数部分为0,转换完毕
0.75d=0.11b=0.110b,低位添0补充到3位
所以3.75d=00011.110b。
在最高有效位之前添0和在最低有效位之后添0,都不会改变这个数值的大小。例如3.75,写成0003.7500,该数值大小不变。