怎样将小数点后面转换为二进制?

如题所述

小数点后面的进制转换采用估值,以1011001.10111为例,一般手算是这样的:十进制转二进制,将小数点后的数单独拿出来(就是去掉前面的整数部分为零),然后乘2,取结果的整数部分,再取结果的小数部分乘2,再取整数部分,以此类推,除非是1/2的整数次,否则可以一直往下算,不过一般是取三位或四位有效数字,按照最后结果,从上到下取每次结果的整数部分。如果看不明白,可以看范例,如12.3456DEC转为二进制,整数部分就不说了,是1100,小数部分这样算,将.3456看为0.3456再乘以2,得到0.6912,取整数位0,再重复第一步,将0.6912乘以2得1.3824,取整数位1,继续重复第一步,将0.3824乘以2得0.7648,取整数位0,下面还是依次类推,一般算到3位就可以了,所以现在12.3456DEC转为二进制数就是1100.010BIN。这是十进制转为二进制,十进制转为八及十六进制是同样道理,只要将乘以2改为乘以8或者16就可以了。至于二进制转为十进制,方法和整数位相同,例1100.010BIN转十进制,解法如下1100.010BIN=0*2^0+0*2^1+1*2^2+1*2^3+0*2^(-1)+1*2^(-2)+0*2^(-3)=12.25比较前后两个答案可以知道十进制转二进制是很难得到精确的值的。

当然,如果你说有没有可以直接将二进制转为八进制或16进制的方法,有:

    二转八:1011010.1BIN可以这样看,001011010.100,然后每三位转为八进制数,如(001)=1,(011)=3,(010)=2,(100)=4,然后就得到八进制数132.4OCT。

    十六转二:F7.28HEX将十六进制的每一位都转为四位的二进制数,即F=1111,7=0111,2=0010,8=1000,即可得到二进制数11110111.00101000BIN总之把握2^3=8,2^4=16这个道理以及,每位八进制数相当于3位二进制数,每位16进制数相当于4位2进制数这句话就可以了。

基本上进制转换就是这个方法,当然除了考试以外,你还是用电脑自带的计算器完成吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2024-01-23
将小数点后面的数字转换为二进制需要使用乘2取整法。下面是一个简单的步骤:
1.将小数部分乘以2。
2.将得到的整数部分记录下来。
3.将小数部分再次乘以2。
4.重复上述过程,每次将得到的整数部分记录下来。
5.一直进行下去,直到小数部分为0或者你达到了想要的二进制位数。
下面以例子说明:
假设我们要将0.625转换为二进制。
6.0.625 * 2 = 1.25,整数部分是1,小数部分是0.25。
7.0.25 * 2 = 0.5,整数部分是0,小数部分是0.5。
8.0.5 * 2 = 1.0,整数部分是1,小数部分是0。
9.结果为0.101。
所以,0.625的二进制表示是0.101。
这是一个简单的示例,对于其他小数,你可以使用相同的方法。需要注意的是,有些小数在二进制中可能是无限循环的,这时你可能需要截断或者采用其他方法处理。
相似回答