- 1、本文档共95页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
六、 二进制补码的减法运算 补码加、减运算的基本理论是: 1.符号位与数值位一起参加运算,且符号位产生的进位 自动丢失。 2.其加、减运算规则为: [x+y]补=[x]补+[y]补 [x-y]补=[x]补+[-y]补 由此可见:补码的加、减运算可统一为一种运算——加法运算。 3.零的补码表示具有唯一性,故数“0”用补码表示后,不会给运算器的识别和运算带来不便。 4.运算结果仍为补码。 例1.3.3 试用4位二进制补码计算5-2 解:(5-2)补=(5)补+ (-2)补=0101+ 1110 =0011 0101 +1110 [1]0011 丢弃 例1.3.4 若x=0.1100,y=0.0010,求[x+y]补及[x-y]补。 解: [x]补=0.1100 [y]补=0.0010 [-y]补=1.1110 [x+y]补=[x]补+[y]补=0.1100+0.0010=0.1110 [x-y]补=[x]补+[-y]补=0.1100+1.1110=0.1010 七、 溢出 例1.3.5 试用4位二进制补码计算5+7 解:因为(5+7)补=(5)补+ (7)补 =0101+ 0111 =1100 0 1 0 1 +0 1 1 1 [1]1 0 0 计算的结果为1 100表示-4,而实际正确的结果应该为12。 产生错误的原因在于4位二进制补码中,有3位是数值位,它表示的范围是 -8 ~ +7,而本题结果需要4位数值位表示,因而产生溢出。 解决溢出的办法:进行位扩展(可扩展到5位以上)。 1.3.2 带符号二进制的减法运算 4. 溢出的判别 两个符号相反的数相加不会产生溢出,两个符号相同的数相加有可能产生溢出,如何判断是否产生溢出?由下列计算结果可以推知。 + 4 + + 3 + 7 0 1 0 0 + 0 0 1 1 1 1 1 0 - 5 + - 3 - 8 1 0 1 1 + 1 1 0 1 0 0 0 1 . . . + 2 + + 6 + 8 0 0 1 0 + 0 1 1 0 0 0 0 1 . . . 1 - 3 + - 6 - 9 1 1 0 1 + 1 0 1 0 1 1 1 0 . 1 0 0 溢出的判别方法:计算结果中进位位与和数的符号位( b3 )相反时,则运算结果是错误的,产生溢出。 1.3 二进制的算术运算 1.4 二进制代码 建立二进制代码与十进制数字、字母、符号等的一一对应的关系称为编码。 二进制代码的位数(n),与需要编码的事件(或信息)的个数(N)之间应满足以下关系: 代码不表示数量的大小,只是不同事或物的代号,为了便于记忆和处理,在编制代码时总要遵循一定的规则,这些规则就称为码制。 用二进制数码对事物进行表示,称为二进制代码。 数字系统中的信息分两类: 数值(二进制表示) 字符(代码) 1.4.1二-十进制码 定义:BCD码又称二~十进制码,通常用四位二进制码表示一位十进制数,只取十个状态。 有多种可能,故而便产生了多种BCD码, 四位二进制码可产生16个数0000~1111,而表示十进制数只需要十个代码,其余六个成为多余。选择哪十个,丢弃哪六个? BCD码 有权码: 无权码: 8421码、2421码、 4221码、5421码 余3码 8421 BCD码是按顺序取四位二进制码中的前十种状态,即0000~1001,代表十进制的0~9,而1010~1111弃之不用,称为无效码。 (1111)2=1×23+1×22+1×21+1×20 8 4 2 1 8421 BCD码的名称由此得来。 例: (9)10= (1001) 8421BCD (7)10= (0111) 8421BCD (875)10= (1000 0111 0101) 8421BCD 1000 0111 0101 对于有权BCD码,可以根据位权展开求得所代表的十进制数。例如: [ ] BCD 8421 0111 ( ) D 7 = 1 1 2 1 4 1 8 0 + + + = ? ? ? ? [ ] ( ) D BCD 2421 7 1 1 2 0 4 1 2 1 1101 = + + + = ? ? ? ? 求BCD代码表示的十进制数: 对于一个多位的十进制数,需要有与十进制位数相同的几组BCD代码来表示
文档评论(0)