二进制整数转换相信大家都会了,但二进制的小数怎么转换,这个问题很好,因为很少会碰到小数的转换,所以一般老师都不会注重的讲,也就被忽略了。在这里我给大家一点提示:在二进制的整数转换中,如
(100110101)B=1×28+0×27+0×26+1×25+1×24+0×23+1×22+0×21+1×20
在整个转换过程中,2的幂从0~8;而如果是小数,如
(1101.1011)B=1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3+1×2-4
=8+4+0+1+1/2+0+1/23+1/24
=13+0.5+0.125+0.0625=13.6875
在小数点后面的数,2的幂从-1~-N,这就是它们之间的关系。
关于小数的十进制转换成二进制:
把十进制小数转换成二进制小数所采用的规则是“乘以2取整数”。方法是用2乘以十进制纯小数,将其结果的整数部分去掉;再用2乘余下的纯小数部分,再去掉其结果的整数部分;如此继续下去,直到余下的纯小数为0或满足所要求的精度为止。最后将每次得到的整数部分(0或1)按先后顺序从左到右排列,即得到所对应的二进制小数。
0.6875*2=1.375(取1)
(1.375-1)*2=0.75(取0)
0.75*2=1.5(取1)
(1.5-1)*2=1(取1)
1-1=0(到这就结束了)
因此,十进制小数0.6875转换成二进制小数为0.1011。
注意:有些十进制小数不一定能完全准确地转换成二进制小数。在这种情况下,可以根据精度要求只转换到小数点后某一位为止。
大家得多记一些2的负数字幂的结果,如2-1=0.5,2-2=0.25,2-3=0.125,2-4=0.0625,2-5=0.03125等等。