十进制、二进制、十六进制是数电中常用的进制,上图为它们之间的转换关系。由图可见十进制不可直接转化为十六进制,需转成二进制,再转成十六进制。
二进制
1. 十进制转二进制:
将一个数一直除以2,直至除尽,将余数从下往上看,这就是所求的二进制数。(脚标为B表示二进制)
那如果是小数呢?
将小数依次乘2,如果乘2后大于1,将1提出去,重复此步骤。理论上是求不尽的,但一般会要求精度,根据需求来算就行了。与整数不同的是,二进制数是从上往下记的。
37(十进制)=100101(二进制)
0.706(十进制)=0.101101001(二进制)
如果是整数与小数混搭型,计算的时候各算各的即可
如:37.706(十进制)=100101.101101001(二进制)
2. 十六进制转二进制:
可以看到十六进制转二进制比较简单,简单来说就是将十六进制的每1位拆成4位。如例1.2.7中,F(十六进制)是15(十进制),换成二进制就是1111(二进制),1(十六进制)对应0001(二进制),…,以此类推
十进制
1. 二进制转十进制:
位权相乘法,例中1010110(二进制)从左到右的位权分别是26 ~20 ,再进行 26 *1 + 25 * 0 + … + 20 *0 = 86(十进制)
(脚标为D表示十进制)
1. 十六进制转十进制:
方法同二进制转十进制一样,只是位权变成了16
十六进制
二进制转十六进制:
方法同十六进制转二进制一样,只不过转化的时候二进制需要“分组”,4个位一组,如果不够4的倍数,就在前面添0
例1.2.6 中整数部分是个11位的二进制数,4个一组还差一位,那么便在前面添一个0。小数部分是5位数,后面添3个0凑成8位分成两个组,然后一组再对应十六进制中的一位,即求得十六进制数
(脚标为H是十六进制)