
1.3.1 数制的基本概念
日常生活中使用的数制很多,如1年有12个月(十二进制),1斤等于10两(十进制),1分钟等于60秒(六十进制)等。计算机科学中经常使用十进制、二进制、八进制和十六进制。但在计算机内部,一般使用二进制编码形式来表示。
1.进位计数制
数制也称计数制,是人们利用符号来计数的科学方法,指用一组固定的符号和统一的规则来表示数值的方法。
如何表示一个“数”,最为人们所接受的是“进位计数制”。例如大家非常熟悉的十进制数,它用0~9共10个数字符号及其进位来表示数的大小。下面我们利用它引出进位计数制的有关概念:
(1)0~9这些数字符号称为“数码”。
(2)全部数码的个数称为“基数”。十进制数的基数为10。
(3)用“逢基数进位”的原则进行计数,称为“进位计数制”。例如,十进制数的基数是10,所以它的计数原则就是“逢十进一”。
(4)进位以后的数字,按其所在位置的前后,将代表不同的数值,表示各位有不同的“位权”,又称“权值”。
(5)位权与基数的关系是:位权的值等于基数的若干次幂。
在十进制数中,各个位的权值分别是:10i(i=-m~n,其中n,m为整数)。
例如:
13651.78=1×104+3×103+6×102+5×101+1×100+7×10-1+8×10-2
式中104、103、102、101、100、10-1、10-2即为各个位的权值,每一位上的数码与该位权值的乘积,就是该位的数值。

(6)任何一种数制表示的数都可以写成按位权展开的多项式之和。
设一个R进制的数A=(anan-1an-2an-3…a1a0.a-1a-2…a-m),则
A=an×Rn+an-1Rn-1+an-3×Rn-3+…+a1×R1+a0×R0+a-1×R-1+…+a-m×R-m
=Σai×Ri(i=n~-m)
2.常用的进位计数制
计算机中常用的进位计数数制除了前面介绍的十进制以外还有二进制、八进制和十六进制。
(1)二进制数
与十进制相似,二进制数也遵循两个规则:
①仅有两个不同的数码,即0,1。
②进/借位规则为:逢二进一,借一当二。
如:(11001.101)2=1×24+1×23+0×22+0×21+1×20+1×2-1+0×2-2+1×2-3。
(2)八进制数
八进制数也遵循两个规则:
①有八个不同的数码,即0,1,2,3,4,5,6,7。
②进/借位规则为:逢八进一,借一当八。
如:(21064.271)8=2×84+1×83+0×82+6×81+4×80+2×8-1+7×8-2+1×8-3。
(3)十六进制数
二进制数在计算机系统中处理很方便,但当位数较多时,比较难记忆和书写,为此,通常将二进制数用十六进制数表示。
十六进制是计算机系统中除二进制之外使用较多的进制,其遵循的两个规则为:
①其有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个数码,分别对应十进制数的0~15;
②进/借位规则为:逢十六进一,借一当十六。
十六进制数同二进制数及十进制数一样,也可以写成展开式的形式。
如:(C1A4.BD)16=12×163+1×162+10×161+4×160+11×16-1+13×16-2。
3.书写规则
为了区分各种计数制的数,常采用如下表示方法:
(1)在数字后面加写相应的英文字母作为标识:
B(Binary)表示二进制数。二进制数的1001011可写成1001011B。
O(Octonary)表示八进制数。八进制数的2513可写成2513O。但为了避免字母O与数字0相混淆,常用Q代替O。八进制数的2513又可写成2513Q。
D(Decimal)表示十进制数。十进制数的6597可写成6597D。一般约定D可省略,即无后缀的数字为十进制数字。
H(Hexadecimal)表示十六进制数,十六进制数3DE6可写成3DE6H。
(2)在括号外面加数字下标:
(1001011)2——表示二进制数的1001011。
(2513)8——表示八进制数的2513。
(6597)10——表示十进制数的6597。
(3DE6)16——表示十六进制数的3DE6。
常用的不同计数制数值的表示方法如表1-1所示。
表1-1 常用计数制的表示方法
