第1章 数制与编码

发布时间 : 星期二 文章第1章 数制与编码更新完毕开始阅读

第1章 数制与码制 25

表1-11 美国信息交换标准码(ASCII码)表

位 765 位4321 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 010 SP ! ” # $ % & ’ ( ) * + , - . / 011 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 100 @ A B C D E F G H I J K L M N O 101 P Q R S T U V W X Y Z [ ] \\ ^ _ 110 ` a b c d e f g h i j k l m n o 111 p q r s t u v w x y z { | } ~ DEL

1.4.4 补码

在前面几节中,我们所讨论的数都是正数,也就是说没有涉及数的符号问题。然而,计算机既要处理正数,又要处理负数。那么,一个数的符号在计算机中是如何表示的呢?带符号的数又如何在机器中表示呢?

在计算机中,数总是存放在由存储元件构成的各种寄存器中,而二进制数码0和1也总是由存贮元件的两种相反状态来表示,所以对于正号“+”或负号“-”也只能用这两种相反的状态来区别。

数的符号在机器中的一种简单表示法为,正数符号位用“0”表示,负数符号位用“1”表示。这样,数的符号标示也就“数码化”了。也就是说,带符号数的数值部分和符号部分统一由数码形式(仅用0和1两种数字符号)来表示。

若计算机的寄存器为8位,则数的存贮格式如图1-18所示。实际上,这8个比特位组成的一组数据串称为一个字节。大多数计算机都是以8位一组来处理和存储二进制数据和信息的。在这8个比特位中,最高位为符号位。若此位为0,则该数为正(+);若符号位为1,则该数为负(-)。剩下的7位表示该数的绝对值大小。如二进制正数+1011和二进制负数-1011在该计算机中分别表示为00001011和10001011。这种自然表示机器数的形

26 数字电子技术

式称为原码,另外还有反码和补码表示形式。

我们前面介绍了二进制数有加、减、乘、除四种运算,而在计算机中实际上只有一种运算,即加法运算。这是因为,乘、除法运算实际上是做左、右移位的加减法运算,即在机器中只需做加、减法两种运算。但在做减法运算时,必须先比较两个数绝对值的大小,再将绝对值大的数减去绝对值小的数,最后在相减结果的前面加上绝对值较大的数的符号。虽然逻辑电路可以实现减法运算,但所需的电路复杂,运算速度也比做加法运算慢得多。

图1-18 二进制符号数在8位寄存器中的存贮格式

为了能使减法运算变成加法运算,人们在做运算之前将符号数用补码的表示形式来描述。

在介绍补码之前,先来看看另一种机器数表示法—反码。在反码表示中,符号位与原码表示的符号位一样,即对于正数,符号位为0;对于负数,符号位为1。但是反码数值部分的形成与它的符号位有关,也就是说,对于正数,反码的数值部分与原码按位相同;对于负数,反码的数值部分是原码的按位变反(即1变0,0变1),反码也因此而得名。

第三种机器数表示法是补码表示法。所谓补码,就是对2的补数。在补码表示法中,正数的表示同原码和反码的表示是一样的。对于负数,从原码到补码的规则是:符号位不变,数值部分则是按位求反,最低位加1,或简称“求反加1 ”。

例1-28 求二进制数x = +1011,y = -1011在八位存贮器中的原码、反码和补码的表示形式。

解: 无论是原码、反码和补码形式,八位存贮器的最高位为符号位,其它位则是数值部分的编码表示。在数值部分中,对于正数,原码、反码和补码按位相同,而对于负数,反码是原码的按位求反,补码则是原码的按位求反加1。所以,二进制数x和y的原码、反码和补码分别表示如下:

[x]原码 = 00001011, [x]反码 = 00001011, [x]补码 = 00001011 [y]原码 = 10001011, [y]反码 = 11110100, [y]补码 = 111101011

自测练习:

1. BCD 3个字母代表什么( )。

2. 要使用BCD码表示十进制数需要( )。

(a) 四位 (b) 二位 (c) 位数取决于数字 3. BCD码用于表示( )。

(a) 二进制数 (b) 十进制数 (c) 十六进制数

第1章 数制与码制 27

4. 列出3种加权的BCD码( )。

5. 哪一种数码( )较易转换为十进制数。

(a) BCD (b) 二进制码 6. 679.810 = ( )8421BCD 。 7. 9810 =( )4221BCD 。 8. 7510 = ( )5421BCD 。 9. 9710 = ( )2421BCD 。

10. 01100001.000001018421BCD = ( )10 。 11. 111011.112 = ( )8421BCD 。 12. XS3 代表( )码。

13. ( )BCD码是一种非加权码。

(a) 8421 (b) XS3 14. ( )是BCD码。

(a) 格雷码 (b) XS3

15. 1011.11102421BCD = ( )XS3 。 16. 65010 = ( )XS3 。

17. 10000101XS3 = ( )10 。 18. 100112 = ( )Gray 。 19. 011100Gray = ( )2 。

20. 格雷码最重要的特性是,当计数每增加1时,( )有1位状态改变。

(a) 不只 (b) 仅有

21. 可同时表示数字和字母的二进制码称为( )码。 22. ASCII码有( )。

(a) 7位 (b) 12位 (c) 4位 23. ASCII代表( ),EBCDIC代表( )。 24. 字母K的ASCII码为( )。

25. 微型计算机输入、输出的工业标准是7位( )码。

26. EBCDIC是一种常用于IBM设备中的( )位字母数字码。

(a) 7 (b) 8 (c) 12

27. 二进制补码中的( )位是符号位。

(a) 最低 (b) 最高

28. 十进制数-35的8位二进制补码位( )。

29. 二进制补码11110001所表示的带符号十进制为( )。 30. 已知[x]原 = 1.1001,那么[x]反 = ( )。 31. 已知[x]原 = 1.1001,那么[x]补 = ( )。

28 数字电子技术

本章小结

1. 2. 3. 4. 5.

二进制数有两个数码:0和1。二进制计数系统是一个加权体系,其权值是2的幂。 使用N位二进制数,可表示的十进制数范围是0~2N-1。

在数字系统和计算机中,八进制和十六进制是表示二进制数的两种有效方法。 八进制计数系统使用8个数码:0~7。

十六进制计数系统使用16个数码:0~9,A~F

6. 从二进制(八进制或十六进制)到十进制的转换,采用通式展开法。即D10??kiRi,7. 8. 9.

这里的R = 2,8或16,ki为各位的数码,对于二进制ki = 0或1。

在八进制与二进制的转换中,一位八进制数与三位二进制数相对应;在十六进制与二进制的转换中,一位十六进制数与四位二进制数相对应。

从二进制到八进制(或十六进制)的转换,采用分组转换法。即把二进制数按3位一组(或4位一组)进行分组,然后把每一组转换为等值的八进制(或十六进制)数。 十进制整数转换为二进制、八进制、十六进制的方法是除基数取余法,十进制纯小数的转换采用乘基取整法,十进制数既有整数部分又有小数部分,则可用“除基取余”及“乘基取整”的方法分别将整数部分和小数部分进行转换,然后合并起来就可得到所求的结果。

八进制到十六进制的转换(反之亦然)。其方法是首先转换为二进制,然后把此二进制转换为所要求的进制数。

用0和1的组合来表示信息的过程即编码,编码的组合称为代码。

代码可分为数字型的和字符型的,有权的和无权的。有权代码的每一数位都定义了相应的位权,无权代码的数位没有定义相应的位权。BCD码是有权码,余3码、格雷码是两种不加权二进制码。

十进制数中的每一位都可以直接转换为4位二进制码,称为BCD码。

ASCII码是计算机中使用的一种字母数字混合编码。ASCII码是7位编码,包括128个字符和符号。

机器数的表示有3种形式,即原码、反码和补码,而在机器数的运算中常用补码形式。

10. 11. 12.

13. 14. 15.

参考文献

[1] R.L.托克海姆[美]编著,陈文楷,徐萍萍译. 数字原理. 北京:科学出版社,2002。 [2] Thomas L.Floyd[美]编著. Digital Fundamentals (Seventh Edition) (英文影印版). 北

京:科学出版社,2003。

[3] John M. Yarbrough[美]编著,李书浩,仇广煜等译. 数字逻辑应用与设计. 北京:机

械工业出版社,2000年。

[4] .康华光编. 电子技术基础(数字部分). 北京:高等教育出版社,2000年。

联系合同范文客服:xxxxx#qq.com(#替换为@)