1.1 数制和码制
1.数制(Number Systems)
数码:由数字符号构成且表示物理量大小的数字和数字组合。计数制(简称数制):多位数码中每一位的构成方法,以及从低位到高位的进制规则。常用的数制有十进制、二进制和十六进制。
1)十进制 十进制是人们最熟悉的计数制。在十进制数中,每一位有0~9十个数码,所以计数的基数是10。超过9的数必须用多位数表示,其中低位和相邻高位之间的关系是“逢十进一”,故称为十进制。其特点为:
数字符号(系数):0、1、2、3、4、5、6、7、8、9
计数规则:逢十进一
基数:10
权:10的幂
例:(1999)10 =(1×103+9×102+9×101+9×100)10
2)二进制 二进制是数字电路和计算机中使用的计数制。在二进制数中,每一位有0和1两个数码,所以计数的基数是2。低位和相邻高位之间的关系是“逢二进一”,故称为二进制。其特点为:
数字符号:0、1
计数规则:逢二进一
基数:2
权:2的幂
例:(1011101)2=(1×26+0×25+1×24+1×23+1×22+0×21+1×20)10
=(64+0+16+8+4+0+1)10
=(93)10
3)十六进制 十六进制是一种便于二进制数和十进制数相互转换的数制,十六进制数的每一位有16个不同的数码,分别用0~9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)表示,低位和相邻高位之间的关系是“逢十六进一”。其特点为:
数字符号:0~9、A、B、C、D、E、F
计数规则:逢十六进一
基数:16
权:16的幂
例:(5D)16=(5×161+13×160)10
=(80+13)10
=(93)10
2.数制之间的转换(Conversion)
我们所熟悉的数制是十进制,数字电路和计算机使用的数制是二进制,十六进制则是两者相互转换的桥梁。
1)二进制与十六进制之间的转换
(1)二进制→十六进制:用“四位分组法”。因为4位二进制数对应1位十六进制数,将待转换的二进制数从后往前,每四位分成一组(如不够四位在前面补0),再把每组二进制数写成对应的十六进制数。十进制数、二进制数和十六进制数对照表如表1-1所示。例如:
表1-1 十进制数、二进制数和十六进制数对照表
(10111010110)2=(010111010110)2
=(5D6)16
(2)十六进制→二进制:只需将每个十六进制数直接写成二进制数即可。例如:
(9A7E)16=(1001101001111110)2
=(1001101001111110)2
2)十进制与十六进制之间的转换
(1)十六进制→十进制:用“按权相加法”,例如:
(5D)16=(5×161+13×160)10
=(80+13)10
=(93)10
(2)十进制→十六进制:根据十进制数的大小(它在0~16~162~163…中的位置)确定除数16N,N=1,2,3,…。例如:把十进制数810转化成十六进制数。
解:因为810这个数在162~163之间,故先用162作为除数。
810/162=810/256=3余42
42/16=2余10
所以810=32AH
3)十进制与二进制之间的转换
(1)二进制→十进制:用“按权相加法”,例如:
(1011101)2=(1×26+0×25+1×24+1×23+1×22+0×21+1×20)10
=(64+0+16+8+4+0+1)10
=(93)10
(2)十进制→二进制:整数部分的转换用“除2取余法”。
例:求(217)10 =()2
解: ∵
∴(217)10 =(11011001)2
3.编码(Encode)
由于数字电路及计算机只能处理二进制数和二进制编码,因此,任何进入计算机的信息必须转化为二进制数或二进制编码。几种常用的编码是:二进制码、二-十进制码(BCD码)和美国标准信息交换码(ASCII码)。
1)二进制码(Binary-Coded) 用0、1组成的二进制数码不仅可以表示数值的大小,而且可以用来表示特定的信息。这种具有特定含义的二进制数码称为二进制代码。建立这种代码与它表示的对象(如十进制数、字母、特定符号、逻辑值等)的一一对应关系的过程称为编码;将代码所表示的特定信息翻译出来称为译码,分别由编码器和译码器来实现。
2)二-十进制编码(Binary-Coded Decimal) 二-十进制编码就是用4位二进制数来表示0~9这10个十进制数符号,简称BCD码。由于4位二进制数从0000~1111共有16种组合,而十进制数只有10个数码符号,因此有多种BCD码,如8421码、2421码等,常用的是8421-BCD码。
8421-BCD码用4位二进制数的前10种组合来表示0~9这10个十进制数,它和十六进制数的前10个数是一样的。表1-2所示为十进制数与BCD码对照表。
表1-2 十进制数与BCD码对照表
从表中可见,8421-BCD码有如下特点:
选取0000~1001表示十进制数0~9。
按自然顺序的二进制数表示所对应的十进制数字。
是有权码,从高位到低位的权依次为8、4、2、1,故称为8421码。
1010~1111等六种状态是不用的,称为禁用码。
例:(1985)10=(0001100110000101)8421BCD
3)美国标准信息交换码(ASCII码) 美国标准信息交换码(American Standard Code for Information Interchange),简称ASCII码。用一个7位二进制数来表示一个特定的字符,可表示27=128个符号。这128个符号共分为两类:一类是图形字符,共96个;一类是控制字符,共32个。96个图形字符包括十进制数码符号10个、大小写英文字符52个和其他字符34个。32个控制字符包括回车符、换行符等。0~9十个数字对应的ASCII码为30H~39H;大写英文字母A~F对应的ASCII码为41H~46H;小写英文字母a~f对应的ASCII码为61H~66H。美国标准信息交换码(ASCII码)表见附录A。