1.1.3 数制和码制
一、数制
数制就是计数的法则。在日常生活中,人们习惯采用十进制数。二进制数有时表示起来不太方便,位数太多,所以有时也采用八进制数或十六进制数。当然,任何一个数都可以用不同的进位制来表示。
1.十进制数
十进制全称十进位计数制,是人们日常工作和生活中最熟悉、最常用的数制。例如,一个十进制数(2136)10,下标10表示此数为十进制数,即该数制的基数为10。
即
(2136)10= 2×10 3+ 1×10 2+ 3×10 1+ 6×10 0
十进制也常用字母D来表示,如十进制数305也可表示为(305)D。
2.二进制数
二进制数(1011)2,下标2表示此数为二进制数,即该数制的基数为2。
即
(1011)2= 1×2 3+0×2 2+1×2 1+1×2 0
二进制也常用字母B来表示,如二进制数1011也可表示为(1011)B。
3.八进制数
八进制数(16)8可以写成
(16)8= 1×81+ 6×80
八进制也常用字母O来表示,如八进制数567也可表示为(567)O。
4.十六进制数
十六进制数的计数规律为逢十六进一,其中数值取0,1,2,…,8,9,A,B,C, D,E,F这16个数字和字母之一。例如,一个十六进制数7E6B可以写成
(7E6B)16= 7×163+ E×162+ 6×161+ B×160
十六进制也常用字母H来表示,如十六进制数A13也可表示为(A13)H。
二、不同数制的数之间的相互转换
1.二进制数转换成十进制数
将二进制数转换成十进制数时,可将二进制数写成多项式的形式,按加权系数展开相加即可。例如,将二进制数1011转换成十进制数:
(1011)B= 1×23+0×22+1×21+1×20= 8+2+1 = (11)D
2.十进制数转换成二进制数
十进制数转换成二进制数时,采用基数除法(除二取余法),十进制数除二进制数的基数2,第一次所得余数为二进制数的最低位,把得到的商再除以基数2,所得余数为二进制数的次低位,以此类推,直至商为0时,所得到的余数为二进制数的最高位,故此法叫作除二取余法。
【例1.1.1】 将(14)D转换成二进制数。
解:
余数
14÷2=7……0 最低位
7÷2=3……1
3÷2=1……1
1÷2=0……1 最高位
得
(14)D= (1110)B
3.各种数制的数之间的相互转换
【例1.1.2】 完成八进制数对其他进制数的转换:(317)O=(______)H=(______)B=(______)D。
解:步骤一:八进制数转换成二进制数(方法:将八进制数每个数位上的数分别用三位二进制代码表示)。
步骤二:二进制数转换成十六进制数(方法:首先将步骤一中转换完成的二进制数从最低位往最高位依次数4位,不够4位的填0补充,然后将每4位二进制数分别用一位十六进制代码表示)。
步骤三:用二进制数、八进制数或十六进数制完成对十进制数的转换。
所以,。
【例1.1.3】 完成十六进制数对其他进制数的转换:(A36) H=(______)O=(______)B=(______)D。
解:步骤一:十六进制数转换成二进制数(方法:将十六进制数每个数位上的数分别用4位二进制代码表示)。
步骤二:二进制数转换成八进制数(方法:首先将步骤一中转换完成的二进制数从最低位往最高位依次数3位,不够3位的填0补充,然后将每3位二进制数分别用一位八进制代码表示)。
( 101 000 110 110 )B=( 5066 )O
步骤三:用二进制数、八进制数或十六进制数完成对十进制数的转换。
所以,。
三、码制
计算机日常处理的信息除了数值信息外,还有文字、符号及一些特定的操作(例如表示确认的回车操作)等。为了处理这些信息,计算机必须将这些信息用二进制数来表示。为了便于记忆和查找,这些用来表示数、字母和符号的二进制数必须遵循一定的规则,这个规则就是码制。这些特定的二进制数称为这些信息的代码,这些代码的编制过程称为编码。
1.码制的类型
现在常用的编码类型有 BCD 码,可自动纠错、校正的可靠性编码(如奇偶检验码)及字符代码(如美国标准信息交换码 ASCII 码)。计算机先将输入的信息符号按一定的规则翻译成由0和1组成的二进制编码,再对二进制编码进行处理,最后将处理结果还原成人们可以识别的符号,输出相应的信息。目前,计算机内部普遍使用的信息编码是 ASCII码。标准ASCII码由7位二进制数组成,用来表示26个英文字母及一些特殊符号。
2.十进制数的二进制编码
数字电子计算机除了可以将十进制数转换成二进制数参加运算外,还可以直接将十进制数以二进制数的形式进行输入和运算,这样可以减少计算机的计算次数,提高计算机的运行速度。其方法是将十进制的10个数字符号分别用4位二进制代码来表示,这种编码称为二进码十进数,也称BCD(Binary Coded Decimal)码。BCD码有很多种形式,常用的有8421码、2421码、5421码、余3码、格雷(Gray)码等,如表1.1.1所示。
表1.1.1 常用的BCD码
(1)8421码。BCD 码可以分为有权码和无权码。所谓有权码,即4位二进制代码中每一位数都有固定数值的权。有权码中用得最多的是842l BCD码,该码共有4位,其位权值从高位到低位分别为8、4、2、l,故称8421码,它属于恒权码,每个代码的各位数值之和就是它表示的十进制数。842l码与十进制数之间的关系是4位二进制代码表示1位十进制数。如
(8)D=(1000)8421BCD (69)D=(01101001)8421BCD
(2)2421码与5421码。2421码也是一种有权码,也属于恒权码。该码从高位到低位的权值分别是2、4、2、1,也是4位二进制代码表示1位十进制数。对于5421码,从高位到低位的权值分别是5、4、2、1。
(3)余3码。余3码组成的4位二进制数,正好比它代表的十进制数多3,故称余3码。两个余3码相加时,其和要比对应的十进制数之和多6。余3码不能由各位二进制数的权值来决定某代码的十进制数,故属于无权码。
(4)格雷码。格雷码的特点是相邻两个代码之间仅有一位不同,其余各位均相同。计数电路按格雷码计数时,每次状态更新仅有一位代码变化,减少了出错的可能性。格雷码也属于无权码。