详解数制与数制的转换
数制
数制就是数的进位制。日常生活中经常会接触到0、7、8、9、168、295等这样的数字,它们的进位制为十进制。另外,还有二进制和十六进制等。
(1)十进制数
十进制数有以下特点。
① 有 10 个不同的数码: 0、1、2、3、4、5、6、7、8、9。任意一个十进制数均可以由这10个数码组成。
② 遵循“逢十进一”的计数原则。
对于任意一个十进制数N,它都可以表示成:
式中:m和n为正整数;an − 1,an − 2,…,a− m称为数码;10称作基数;10 n − 1 ,10 n − 2 ,…,10 − m 是各位数码的“位权”。
例如:根据上面的方法可以将十进制数3259.46表示为3259.46=3 × 10 3 + 2 × 10 2 + 5 × 10 1 + 9 × 10 0 + 4 × 10 − 1 + 6 × 10 − 2。
(2)二进制数
十进制是最常见的数制,此外,还有二进制、八进制、十六进制等。在数字电路中,二进制用得最多。
1)二进制数的特点
二进制数有以下特点。
① 有两个数码: 0 和 1。任何一个二进制数都可以由这两个数码组成。
② 遵循“逢二进一”的计数原则。
对于任意一个二进制数N,它都可以表示成:
式中:m和n为正整数;an − 1,an − 2,…,a− m称为数码;2称作基数;2 n − 1 ,2 n − 2 ,…,2 − m是各位数码的“位权”。
例如:二进制数11011.01可表示为11011.01B=1×2 4 +1×2 3 +0×2 2 +1×2 1 +1×2 0 + 0×2 -1 +1×2 -2。
注:为了说明数据为二进制数,一般在数据后加上“B”,十六进制数加上“H”。
2)二进制数的四则运算。
① 加法运算。加法运算的法则是:“逢二进一”。具体有:
当遇到“1+1”时向相邻高位进1。
例如:求1011B+1011B=?可以用与十进制数相同的竖式计算
即1011B+1011B=10110B
② 减法运算。减法运算的法则是:“借一当二”。具体有: 0 − 0=0 1 − 0=1 1 − 1=0 10 − 1=1
当遇到“0 − 1”时,需向高位借1当2用。
例如:求1100B − 111B=?
即1100B − 111B=101B
③ 乘法运算。乘法运算的法则是:“各数相乘,再作加法运算”。具体有:
0×0=0 1×0=0 0×1=0 1×1=1
例如:求1101B×101B=?
即1101B×101B=1000001B
④ 除法运算。除法运算的法则是:“各数相除,再作减法运算”。具体有: 0÷1=0 1÷1=1
例如:求1111B÷101B=?
即1111B÷101B=11B
(3)十六进制数
十六进制数有以下特点。
① 有 16 个数码: 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。这里的A、B、C、D、E、F分别代表10、11、12、13、14、15。
② 遵循“逢十六进一”的计数原则。
对于任意一个十六进制数N,它都可以表示成:
式中:m和n为正整数;an − 1,an − 2,…,a− m称为数码;16称作基数;16 n − 1 ,16 n − 2 ,…,16 − m是各位数码的“位权”。
例如:十六进制数3A6.DH可表示为3A6.DH=3×16 2+10×16 1+6×16 0+13×16 − 1。
数制的转换(1)二、十六进制数转换成十进制数
二、十六进制数转换成十进制数的方法是:将二、十六进制数各位数码与位权相乘后求和,就能得到十进制数。下面举例说明。
二进制数转换成十进制数:101B=1×2 2 +0×2 1 +1×2 0 =4+0+1=5
十六进制数转换成十进制数:C6H=12×16+6×16 0 =198
(2)十进制数转换成二、十六进制数
十进制数转换成二进制数的方法是:采用除2取余法,即将十进制数依次除2,并依次记下余数,一直除到商数为0,最后把全部余数按相反次序排列,就能得到二进制数。
十进制数转换成十六进制数的方法与转换成二进制数基本相同,不同之处在于采用除16取余法。
例如:将十进制数29转换成二进制数。
即29=11101B
例如:将十进制数181转换成十六进制数。
即181=B5H
(3)二进制数与十六进制数的相互转换
① 二进制数转换成十六进制数。二进制数转换成十六进制数的方法是:从小数点起向左、右按 4 位分组,不足 4 位的,整数部分可在最高位的左边加“ 0 ”补齐,小数点部分可在最低位右边加“ 0 ”补齐,每组用其对应的十六进制数代替,将各个十六进制数依次写出即可。
例如:将二进制数1011000110.111101B转换为十六进制数。
注:十六进制的16位数码为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,它们分别与二进制数0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111相对应。
② 十六进制数转换成二进制数。十六进制数转换成二进制数的过程与上述方法相反。其过程是:从左到右将待转换的十六进制数中的每个数码依次用 4 位二进制数表示。
例如:将十六进制数31AB.6DH转换成二进制数。