数值系统(numerical system)即以不同数值为基数数字系统。的在日常的生活中,我们使用包括符号0到9的十进制数值系统。十进制数值系统有10个符号,因此,又称为以10为基数的数值系统。我们也可以采用使用不同数目的符号的数值系统。以2为基数的数值系统使用2个符号,以8为基数的数值系统使用8个符号,以16为基数的数值系统使用16个符号。这些是我们通信系统中要经常用到的数值系统,因此必然会经常要使用他们之间的互相转换。在了解这些数值系统之间的相互转换之前,我们先简单认识一下这些数值系统和按位取值的规则。
第一部分:常用数值系统
1、十进制数值系统
十进制数值系统中的每个数值都可以使用10个符号来表示,这就是0,l,2,3,4,5,6,7,8和9。对于这些符号本身以及如何使用它们来表示一个数值,大家已经很熟悉了。例如,当你看到数值123的时候,你知道它代表着一百二十三。但是,是什么规则告诉你符号123代表着一百二十三呢?你所使用的规则就是按位取值的规则。
规则告诉我们最右边的数位(假设没有小数点)代表着1的位置。更精确地讲,最右边的数位代表的值是100的倍数,因为100=1。第2个数位表示的值是101的倍数,依次类推。于是,123就等于:
(1×102)+(2×101)+(3×100)= 100+20+3=123
使用位置表示的概念,你就不单单可以使用以10为基数的数值系统工作了。各个位的值都可以以10的幂的形式表示。
2、二进制数值系统
计算机不能使用以10为基数那样的数值系统。计算机本质上是由数百万的元件组成,这些元件只有开和关两种状态。使用符号0和1来表示开关的开和关的两种状态,这是符合逻辑的。这种方法叫做以2为基数的数值系统或者叫做二进制数值系统。在以2为基数的数值系统里,你所使用的2个符号叫做二进制数字,或者简称为位。
使用按位取值的方法,第一位所代表的值是“位值(0或1)×20”(记住,以2为基数),或者是“位值(0或1)×1”。由于位值只可能取0和1之间的一个值,第一位代表的值就是0或1。
第二位代表的值是“位值(0或1)×21”,或者“位值(0或1)×2”。因为位值只可能是0或1,因此,第二位代表的值就是0或2。第三位代表的值是“位值(0或1)×22”,或者“位值(0或1)×4”,它的值是0或4。注意每个较高位的值都是前一位的值的两倍。在二进制数值系统中,各个位的值都是2的幂,分别是1、2、4、8和16等等。
3、八进制数值系统
如果我们把二进制数值系统1101100101110011按每3位一组写出来,由于在最左边只剩下一位,故在前补两个01你可能会注意到一些事情:
001 101 100 101 110 011
每3位一组的数值都是在0和7之间。这种新的表示方法就是八进制数值系统,或者叫做以8为基数的数值系统。对八进制数字的按位取值是8的幂,分别是1、8、64、512和4096等等。尽管你已经能够使用八进制数值系统来表示二进制数,但是这种方法并不常用。在计算机通信系统往往按照4位、8位或16位来操作二进制数值。
4、十六进制数值系统
如果使用4位一组来表示二进制数,那就得到:
1101 1001 0111 0011
每4位一组所表示的值都在0到15之间。你可以使用一个符号来表示每个4位组,一共需要16个符号。已经有了10个(0到9)非常熟悉的符号,但是还缺6个。不妨从26个英文字母中借用6个。这样,我们就有了所需的符号A、B、C、D、E、F。新的方案采用了16个符号,因此,它自然叫做十六进制数值系统(hexadecimal numbering system)。同理,对16进制数字的按位取值,是16的幂的形式。计算机也并不使用十六进制数值系统。人们使用十六进制系统,是为了使得二进制数值更加容易阅读和操作。
5、点分十进制表示法
我们还常用到另一种表示二进制数值的方法叫做点分十进制表示法(dotted decimal notation)。每8位一组(一个字节)被表示成为一个十进制数值,每个十进制数值之间有一个圆点。每个8位组数值的范围在0到255之间。使用8位组表示的最小值是0(0000 0000);最大值是:
1111 1111=128+64+32+16+8+4+2+1=255
因此,二进制数11011001 01110011可以用点分十进制法表示为217.115。
第二部分:数值间的转换
在研究通信技术中,会经常遇到上述5种数值系统之间的相互转换。其转换的方法有查表法和计算法。下表1给出了十进制的0~255与二进制、十六进制间转换表,可以查表所得。
表2:二进制/十进制/十六进制转换表
但是最基本的计算方法还是有必要掌握的。下面给出这5种数值系统之间相互转换的基本计算方法,包括的内容如下表,具体详见附录,主要依据的是按位取值的规则。
类型 |
分类 |
类型 |
分类 |
一、 二进制到其它数值系统的转换 |
1、二进制到八进制 |
二、 八进制到其它数值系统的转换 |
1、八进制转换为二进制 |
2、二进制到十六进制 |
2、八进制到十六进制 |
||
3、二进制到十进制 |
3、八进制到十进制 |
||
4、二进制到点分十进制的转换 |
4、八进制到点分十进制的转换 |
||
三、 十六进制到其它数值系统的转换 |
1、十六进制转换为二进制 |
四、 十进制到其它数值系统的转换 |
1、十进制转换为二进制 |
2、十六进制转换为八进制 |
2、十进制转换为八进制 |
||
3、十六进制转换为十进制 |
3、十进制转换为十六进制 |
||
4、十六进制转换为点分十进制 |
|
我们掌握了按位取值规则的计算方法,可以触类旁通,实现任意数值系统中的数值计算它们之间的互相转换。
欲更多了解常用函数及计算的请进入。