1.4.3 常用数制之间的转换

1.二进制数和十进制数之间的转换

二进制数转换为十进制数按照各自数制性质展开即可。例如,二进制数(11011.101)B转换为十进制数展开如下:

(11011.101)B=24+23+21+1+2-1+2-3=(27.625)D

十进制数转换为二进制数,整数部分的转换采用“除2取余”。十进制数整数部分除以2得到余数和商,再用得到的商依次除以2,直到商为0时结束,第一次得到的余数就是相应二进制数整数部分的最低位,第二次得到次低位,最后得到的余数为最高位,依次排列。

例:十进制整数(58)D转换成二进制整数,如图1-6所示。

所以,(58)D=(111010)B。

图1-6 十进制整数转换成二进制整数

十进制数转换为二进制数,小数部分的转换采用“乘2取整”。十进制小数部分乘2,积分为整数部分和小数部分,将积的小数部分继续乘2,直到积的小数部分为0时结束。这样依次得到一系列整数,第一次乘2得到的整数就是相应二进制数小数部分的最高位,第二次乘2得到的整数就是相应二进制数小数部分的次高位,最后乘2得到的整数就是相应二进制数小数部分的最低位,依次排列。

例:十进制小数(0.6875)D转换成二进制小数,如图1-7所示。

所以,(0.6875)D=(0.1011)B

图1-7 十进制小数转换成二进制小数

2.二进制数和十六进制数之间的转换

每位十六进制数与4位二进制数之间有一一对应关系,如表1-3所示。

表1-3 二进制数和十六进制数的对应关系

1位十六进制数可以直接转换为4位二进制数,如十六进制数(1A63.B5)H转换成二进制数示例如下:

(1A63.B5)H=(0001 1010 0110 0011.1011 0101)B

        1  A   6   3 . B  5

每4位二进制数也可以直接转换为1位十六进制数,整数部分从最低位起,每4位一组进行分组,不足4位在高位前添“0”补足4位;小数部分从最高位起,每4位一组进行分组,不足四位在最低位后添“0”补足4位。分组后每组的4位二进制数分别可以转换成各自相应的1位十六进制数。

例如,将二进制数(1101101111.110101)B转换成十六进制数:

(0011 0110 1111.1101 0100)B=(36F.D4)H

  3  6   F  D   4        

在整数部分最高位前添两个“0”,补足4位成“0011”;在小数部分最低位后添两个“0”,补足四位成“0100”。