[+0.5]原=01000000,不明白,那[+0.6]原、[+0.4]原各等于多少?怎么算的
1个回答

十进制小数转化为二进制小数的方法:对十进制小数乘以2得到的整数部分和小数部分,整数部分即是相应的二进制数码,再用2乘小数部分,结果再取整数部分,如此反复,直到小数部分为0或达到精度为止.第一次得到的为最高位,最后一次得到为最低位.

如计算+0.52的二进制:

1、0.52*2=1.04 (取整得到1)

2、0.04*2=0.08 (取整得到0)

3、0.08*2=0.16 (取整得到0)

4、0.16*2=0.32 (取整得到0)

5、0.32*2=0.64 (取整得到0)

6、0.64*2=1.28 (取整得到1)

7、0.28*2=0.56 (取整得到0)

……

如果取机器字长为8情况下,则+0.52的二进制就是01000010;如果是32位的话,那就需要多算一会了

为什么前面第一个是0,因为是一个小数,按道理因该是0.1000010;但为了书写方便.

原码

定义机器字长为n,若数值X是纯整数

X 0