怎么把二进制小数转换为十进制数

二进制数111.11转换成十进制数是

方法:乘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。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-02
先举一个例子,例如:0.101,第一个1代表的是2的负一次方(0.5),即1*0.5,第二个1代表的是2的负三次方(0.125),即1*0.125,结果为0.5+0.125=0.625,简而言之,每个1乘以其所在位所代表的数,最后相加。小数点后第一位所代表的数是2的负一次方,第二位是负二次方,以此类推(类似十进制中小数点第一位是10的负一次方,即0.1,第二位是10的负二次方,即0.01一次类推),希望你能明白。
再看你的问题111.11转为为十进制1*4+1*2+1*1+1*0.5+1*0.25=7.75追问

你能不能把式子写成乘方的形式,那样我就能看懂了

追答

你的问题:1*2^2+1*2^1+1*2^0+1*2^(-1)+1*2^(-2)=4+2+1+0.5+0.25=7.75,希望你明白了。

本回答被提问者采纳
第2个回答  2018-05-18
把二进制的小数转换为十进制的算法:从小数点后一位二进制数开始以2 的负一次方开算 依次类推
二进制小数的位权都是2的负整数次幂,即阶数为负数。
二进制与十进制间的相互转换:

(1)二进制转十进制方法:“按权展开求和”
例:(1011.01)2
=1x23+0x22+1x21+1x2^0+0x2-1+1x2-2
=(8+0+2+1 +0+0.25) 10
=(11.25) 10
规律:个位.上的数字的次数是0,十位上的数
字的次数是1, ....依奖递增,而十分位的
数字的次数是-1,百分位.上数字的次数是
-2, ....,依次递减。
注意:不是任何一个十进制小数都能转换成有限位的二进制数。
例如:将二进制小数0.1010转换为十进制 小数点后一位是1/2的一次方,第二位是1/2的平方,就这样依次算。0.1010=1*(1/2)+0*(1/2)²+1*(1/2)³+0*(1/2)的四次方。本回答被网友采纳
第3个回答  2011-08-02
整数部分:第N位乘2^(N)
小数部分:第N位乘2^(-N)
第4个回答  2011-08-02
先转八进制在转十进制
相似回答