基于Proteus的数字集成电路快速上手
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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×10010

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×16010

=(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×16010

=(80+13)10

=(93)10

(2)十进制→十六进制:根据十进制数的大小(它在0~16~162~163…中的位置)确定除数16NN=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×2010

=(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。