小数点后面的进制转换采用估值,以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进制数这句话就可以了。
基本上进制转换就是这个方法,当然除了考试以外,你还是用电脑自带的计算器完成吧。
将十进制数转换为二进制数可以使用多种方法。以下是一个常用的方法:
除2取余法:从最高位开始,用十进制数除以2,记录余数。
将商再除以2,记录余数。
重复上述步骤,直到商为0。
将所有记录的余数从下往上排列,即可得到该十进制数的二进制表示。
例如,将十进制数28转换为二进制数:
28/2 = 14 余 0
14/2 = 7 余 0
7/2 = 3 余 1
3/2 = 1 余 1
1/2 = 0 余 1
将所有余数从下往上排列,得到28的二进制表示为111000。