十进制小数怎么转二进制数

发布网友

我来回答

2个回答

热心网友

方法:
1、乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到指定位数的小数部分 。
2.余下的值为零即止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数。
下面举例: 例1:将0.125换算为二进制 得出结果:将0.125换算为二进制(0.001)2 。
分析:第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25。
第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5。
第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0。
第四步,读数,从第一位“整数部分”读起,读到最后一位,即为0.001。

热心网友

举例说明:

2013.5673D=?B

整数部分2013

写出二进制各位基数,个位1,高位是低位乘以2,写到比2013大为止

2048 1024 512 256 128  32 16 8 4 2 1用这组数从高到低将2013凑出来
  0    1   1   1   1   1  0  1 1 1 0 1 用到的数下面写1,其余写0

2013=1024+9=1024+512+477=1024+512+256+221=1024+512+256+128+93=1024+512+256+128++29=1024+512+256+128++16+13=1024+512+256+128++16+8+4+1,请结合上边两行的式子,得到解释:2013中有一个1024,1个512,1个128,1个,1个16,1个8,1个4和1个1,二进制就是用这样的方法来计数的(其他进制也是如此)

2013D=011111011101B

取小数部分0.5673乘以2=1.1346,截取整数部分当成二进制小数第1位[011111011101.1]

取上步结果小数部分乘以2=0.1346*2=0.2692[011111011101.10]

继续:0.2692*2=0.5384[011111011101.100],0.5384*2=1.0768[011111011101.1001]

可以一直算下去,直到小数部分为0或者达到要转换的位数为止,这里假定只计算到小数点后4位

2013.5673D=011111011101.1001B

其他进制也是如此转换,n进制基数:个位1,高位=低位*n

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com