数 制 转 换

    数制转换是指将一个数从一种进位制转换成另一种进位制。从实际应用出发,要求掌握二进制数与十进制数、八进制数、以及十六进制数之间的相互转换。

    一、二进制数与十进制数之间的转换 

    1.二进制数转换为十进制数
    方法:多项式替代法
    二进制数转换成十进制数时,只需将二进制数表示成按权展开式,并按十进制运算法则进行计算,所得结果即为该数对应的十进制数。 
    例如,
      (10110.101)2=1×24+1×22+1×21+1×2-1+1×2-3
                  =16+4+2+0.5+0.125
                  =(22.625)10

    2.十进制数转换为二进制数
   方法:
基数乘除法
    十进制数转换成二进制数时,应对整数和小数分别进行处理。整数转换采用“除2取余”的方法,小数转换采用“乘2取整”的方法。

    (1) 整数转换

    将十进制整数N除以2,取余数计为K0;再将所得商除以2,取余数记为K1;…… 。依此类推,直至商为0,取余数计为Kn-1为止。即可得到与十进制整数N对应的n位二进制整数Kn-1…K1K0。

    例如,将十进制整数35转换成二进制整数。


    即:(35)10=(100011)2

    (2) 小数转换

    将十进制小数N乘以2,取积的整数部分记为K-1;再将积的小数部分乘以2,取整数部分记为K-2 ;…… 。依此类推,直至其小数部分为0或达到规定精度要求,取整数部分记作K-m为止。即可得到与N对应的m位二进制小数0.K-1K-2…K-m。
    例如,将十进制小数0.6875转换成二进制小数。


    即:(0.6875)10=(0.1011)2
    注意:当十进制小数不能用有限位二进制小数精确表时。可根据精度要求,求出相应的二进制位数近似地表示。一般当要求二进制数取m位小数时,可求出m+1位,然后对最低位作“ 0舍1入”处理。 例如,将十进制小数0.323转换成二进制小数(保留4位小数)。


    即:(0.323)10 = (0.0101)2   


    若一个十进制数既包含整数部分,又包含小数部分,则需将整数部分和小数部分分别转换,然后用小数点将两部分结果连到一起。 例如,将十进制数25.625转换成二进制数。



    即:(25.625)10=(11001.101)2  


    二、二进制数与八进制数、十六进制数之间的转换

   
1.二进制数与八进制数之间的转换
    由于八进制中的基本数字符号0~7正好和3位二进制数的8种取值000~111对应。所以,二进制数与八进制数之间的转换可以按位进行。 
    二进制数转换成八进制数:以小数点为界,分别往高、往低每3位为一组,最后不足3位时用0补充,然后写出每组对应的八进制字符,即为相应八进制数。
    例如,将二进制数11100101.01转换成八进制数。

011  100  101 . 010
3 4 5 . 2

    即:(11100101.01)2=(345.2)


 
    八进制数转换成二进制数:只需将每位八进制数用3位二进制数表示。
    例如,将八进制数56.7转换成二进制数。

5 6 . 7
101  110  . 111

    即:(56.7)8 = (101110.111)


    2.二进制数与十六进制数之间的转换
    二进制数与十六进制数之间的转换同样可以按位进行 ,只不过是4位二进制数对应1位十六进制数,即4位二进制数的取值0000~1111分别对应十六进制字符0~F。
    二进制数转换成十六进制数:以小数点为界,分别往高、往低每4位为一组,最后不足4位时用0补充,然后写出每组对应的十六进制字符即可。
    例如,将二进制数101110.011转换成十六进制数。

0010  1110  . 0110
2 E . 6

    即:(101110.011)2 = (2E.6)16 


    十六进制数转换成二进制数只需将每位十六进制数用4位二进制数表示。
    例如,将十六进制数5A.B转换成二进制数。

5 A . B
0101  1010  . 1011

    即:(5A.B)16 = (1011010.1011)2
    由于八进制数、十六进制数与二进制数的转换很方便,因此,常用来作二进制数的缩写。


↑返回顶部