1.2.2 数制的转换
我们知道计算机中数据是以二进制的形式存在的,但是二进制数据太长,没有人愿意对很长的二进制进行操作,用十六进制或八进制可以解决这个问题。因为进制越大,数的表达长度也就越短。不过,为什么偏偏是十六或八进制,而不是其他的诸如九或二十进制呢?因为2、8、16,分别是2的1次方、3次方、4次方,这一点使得三种进制之间可以非常直接地互相转换。八进制或十六进制既缩短了二进制数又保持了二进制数的表达特点。
1.二进制、八进制、十六进制转换成十进制
规则:数码乘以各自的权的累加
【实例1-1】其他进制转换成十进制。
(10001)B=24+20=17
(101.01)B=22+20+2-2=5.25
(011)O=81+80=9
(72)O=7*81+2*80=58
(112A)H=1*163+1*162+2*161+10*160=4394
2.十进制转换成二进制、八进制、十六进制
规则如下。
❑ 整数部分:除以进制取余数,直到商为0,余数从下到上排列。
❑ 小数部分:乘以进制取整数,得到的整数从上到下排列。
【实例1-2】十进制转换成其他进制。
(1)十进制20.345转换成二进制
20.345D=10100.01011B
(2)十进制100转换成八进制、十六进制
3.二进制转换成八进制
规则如下。
❑ 整数部分:从右向左按三位进行分组,不足补零。
❑ 小数部分:从左向右按三位进行分组,不足补零。
【实例1-3】将二进制数(1101101110.110101)2转换成八进制数。
(1101101110.110101)2=(1556.65)8
4.二进制转换成十六进制
规则如下。
❑ 整数部分:从右向左按四位进行分组,不足补零。
❑ 小数部分:从左向右按四位进行分组,不足补零。
【实例1-4】将二进制数(001101101110.110101)2转换成十六进制数。
(001101101110.110101)2=(36E.D4)16
5.八进制、十六进制转换成二进制
规则如下。
❑ 一位八进制对应三位二进制。
❑ 一位十六进制对应四位二进制。
【实例1-5】八进制、十六进制转换成二进制。