十进制的小数怎么转换成二进制

十进制的小数怎么转换成二进制
2024年11月17日 07:24
有5个网友回答
网友(1):

可以采用乘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。

扩展资料

十进制整数转换为二轿塌进制整数计算的方法:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具亮禅体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止。

然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

如:255=(11111111)B

255/2=127=====余1

127/2=63======余1

63/2=31=======余1

31/2=15=======余1

15/2=7========余1

7/2=3=========余1

3/2=1=========余1

1/2=0=========余1

789=1100010101(B)

789/2=394 余1 第10位

394/2=197 余0 第9位

197/2=98 余1 第8位

98/2=49 余0 第7位

49/2=24 余1 第6位

24/2=12 余0 第5位

12/2=6 余0 第4位

6/2=3 余0 第3位

3/2=1 余1 第2位

1/2=0 余1 第1位

原理:

众所周知,二进制的基数为2,十进制化二进制时所除的2就是它的基数。谈到它的原理,就不得不说说关于位权的概念。某进制计数制中各位数字符号所表示的数值表示该数字符号值乘以一个与数字符号有关的常数,该常数称为 “位权 ” 。

位权的大小是以基数为底,数字符号所处的位置的序号为指数的整数次幂。十进制数的百位、十位、个位、十分位的权分别是10的2次方、10的1次方、10的0次方,10的-1次方。二进制数就是2的n次幂。

按权展开求和正是非十进制化十进制的方法。

下面我们开讲原理,举个十进制整数转换为二进制整数的例子,假设十进制整数A化得的二进制数为edcba 的形式,那么用上面的方法按权展开, 得:

A=a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4) 

假设该数未转化为二进制,除以基数2得:

A/2=a(2^0)/2+b(2^1)/2+c(2^2)/2+d(2^3)/2+e(2^4)/2

注意:a除不开二,余下了!其他的绝对能除开,因为他们都包含2,而a乘的是1,他本身绝对不包含因数2,只能余下。

商得:b(2^0)+c(2^1)+d(2^2)+e(2^3),再除以基数2余下了b,以此类推。

当这个数不能再被2除时,先余掉的a位数在原数低,而后来的余数数位高,所以要把所有的余数反过来写。正好是edcba。

参考资料:百度百科-  十进制转二进制

网友(2):

十进制的小数转换成二进制的方法

第一种方法,用户可以使用在线的进制仔乎转换器。只需要在浏览器中输入“在线进制转换”。这样就可以收到很多在线进制转换工具。随机点进去一个。然后输入自己带小数的十进制。就可以转换了。

第二种方法就是公式转换。这种比较麻烦。转换公式 就是采用"乘2取整,顺序排列"念袭悉法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度禅皮为止。 然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

网友(3):

将小数部分乘以2,取结果的整数部分为二进制的一位。 然后继指念槐续唯友取结果的小数部分乘2重复,一直到小数部分全部为0结束 (有可能遇到不停循环乘不尽的情况出现)

举例:
0.8125换成二进制方法如下:
0.8125x2 = 1.625...1
0.625x2 = 1.25....1
0.25x2 = 0.5.....0
0.5x2 = 1 .....1
至此小数部分已经全为0 (1.0000..) ,所以十进高冲制0.8125对应二进制的 0.1101

而乘不尽的无限循环二进制小数举个例子如十进制的0.68, 你可以尝试按上面的方法乘一下 :)

另外十进制的整是用除2的方式的,想必你已经知道了。在换算时需要将整数部分用除2方式计算出,小数部分用乘2方式计算出,然后再用小数点接到一起作为二进制的结果

网友(4):

给祥敬lz两个网雀宴租址顷兆吧,讲的很详细
http://zhidao.baidu.com/question/59899901.html?si=2
http://blog.csdn.net/boluo1982107/archive/2008/11/15/3304194.aspx

网友(5):

将十进制小数转换为二进制
20.215(H)=?