3.1.1 进位计数制

1.基数

进位计数制的特点是由一组规定的数字来表示任意的数,这组数字的总个数就称为基数。

①十进制:基数为10,10个记数符号,即0、1、2、…、9。每一个数码符号根据它在这个数中所在的位置(数位),按“逢十进一”来决定其实际数值。

②二进制:基数为2,2个记数符号,即0和1。每个数码符号根据它在这个数中的数位,按“逢二进一”来决定其实际数值。

③八进制:基数为8,8个记数符号,即0、1、2、…、7。每个数码符号根据它在这个数中的数位,按“逢八进一”来决定其实际的数值。

④十六进制:基数为16,16个记数符号,0~9,A~F。其中A~F对应十进制的10~15。每个数码符号根据它在这个数中的数位,按“逢十六进一”决定其实际的数值。

2.位权

进位计数制的数可以用位权来表示,位权是指一个数字在某个固定位置上所代表的值,处在不同位置上的相同数字符号所代表的值不同,每个数字的位置决定了它的值或者位权。

位权与基数的关系是:各进位制中位权的值是基数的若干次幂。因此,用任何一种数制表示的数都可以写成按位权展开的多项式之和。

位权表示法的原则是数字的总个数等于基数;每个数字都要乘以基数的幂次,而该幂次是由每个数所在的位置决定的。排列方式是以小数点为界,整数部分自右向左乘以基数的0次方、1次方、2次方……小数部分自左向右乘以基数的负1次方、负2次方、负3次方……

一般,任意进制数S都可以表示为如下的形式:

其中,p称为任意进制的基数,m、n为正整数。

①十进制数在数字后加字母D(decimal)或不加字母,例如:

634.28D=6×102+3×101+4×100+2×10-1+8×10-2

②二进制数在数字后加字母B(binary),例如:

101.1B=1×22+0×21+1×20+1×2-1

③八进制数在数字后加字母O(octonary),但为了与0区别,可改为Q,例如:

36.2Q=3×81+6×80+2×8-1

④十六进制数在数字后加字母H(hexadecimal),若以A、B、C、D、E或F开头,则需要加前导词0,以便与标识符相区分。例如:

0B78.FH=11×162+7×161+8×160+15×16-1

二进制、十进制、八进制和十六进制的对应关系如表3-1所示。

表3-1 二进制、十进制、八进制和十六进制的对应关系

3.二进制的特点

在计算机中采用二进制的原因如下:

(1)可行性

采用二进制,只有0和1两个状态,需要表示0、1两种状态的电子器件很多,如开关的接通和断开,晶体管的导通和截止、磁元件的正负剩磁、电位电平的低与高等都可表示0、1两个数码。使用二进制,电子器件具有实现的可行性。

(2)简易性

二进制数的运算法则少,运算简单,使计算机运算器的硬件结构大大简化(十进制的乘法九九口诀表有55条公式,而二进制乘法只有4条规则)。

(3)逻辑性

由于二进制0和1正好和逻辑代数的假(False)和真(True)相对应,有逻辑代数的理论基础,用二进制数表示二值逻辑很自然。