- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 通过前面的学习,我们已经知道了数据在计算机中是如何表示,那么它们是怎么参加运算的呢?或者说运算器是怎样工作的呢?要明白这个问题就是我们在这一章要学习的算术、逻辑运算的方法。 第5章 运算方法和运算器 §1 移位运算和舍入操作 一、移位运算 1、意义 移位运算是计算机中最基本、最常见的运算操作之一。任何计算机都含有移位指令。移位操作有两种: (1)逻辑移位:寄存器中整组数据进行移位,空位补0,只有数字位置的变化,无数量变化。 (2)算术移位:寄存器中带符号数的移位,移位时,符号位保持不变,仅数量变化。 在此仅讨论算术移位:当机器字长固定,左、右移位时,出现空位怎么办? 2、算术移位的规则 大前提是:移位后,符号位保持不变。 (1)正数: 正数的符号位为0,且[x]原=[x]反=[x]补,故进行算术移位时,出现的空位均补0.例如: [x]原=0.1001, 2[x]原=0.0010; [x]反=0.0011, [x]反=0.0001; [x]补=0.1001 2[x]补=0.0010; (2)负数: 原码的移位:除符号位外,原码的数值部分与真值相同,故移位后都补0. [x]原=1,0111 2[x]原=1,1110 [x]原=1,0011 反码的移位:除符号位外,反码的数值部分与原码相反,故移位后都补1. [x]反=1,0111 2[x]反=1,1111 [x]反=1,1011 补码的移位:除符号位外,左移补0,右移补1 3、练习 设X=-0.1001010,求: (1)X的原码左移2位、右移2位各是多少? (2)X的反码左移2位、右移2位各是多少? (3)X的补码左移2位、右移2位各是多少? 思考:2[x]补=[2x]补成立吗? [x]补=[ x]补成立吗? 解答:当x=0时,在不溢出的情况下,上述二式成立; 当x0时,在不溢出的情况下,2[x]补=[2x]补成立, 而 [x]补=[ x]补不成立。 如:x=-0.0001,字长5位。 x=-0.0000 [x]补=1.1111, [x]补=1.1111 [ x]补=0.0000 又如:x=-0.10101,字长6位。 [x]补=1.10101 [ x]补=1.10110 二、舍入操作 在算术移位时,由于硬件的限制,会失去一定的位数,造成一些误差。为减少误差,就要进行舍入操作。 (1)恒舍(切断):多余的部分全部舍去 (2)冯·诺依曼舍入法:末位恒置1 (3)0舍1入法: (4)ROM舍入法(查表法) §2 定点数加减法 所谓四则运算就是指加,减,乘,除四种运算。二进制数的四则运算在原理上和十进制数的四则运算法则是一样,只要我们记住“逢二进一”就会发现二进制数的四则运算甚至更简单。 一、原码加法: 设X=+10101,Y=-11010,试计算X+Y 用原码进行这种运算要分如下几个步骤 (1)比较两个数的绝对值的大小 (2)绝对值大的数的绝对值减去绝对值小的数的绝对值。 (3)将结果赋予绝对值较大的那个数的符号。 对于上题:很显然 ,所以先作 - 即 11010 - 10101 最后将Y的符号赋予结果的符号 00101 因此X+Y=-00101 由上述运算看来,用原码做加法实在不是一件轻松的事。能不能有更好的办法呢? 二、补码加法: 由前面所学的知识可知,[X+Y]补=[X]补+[Y]补 下面我们就根据这个公式来计算上述例子 [X+Y]补=[X]补+[Y]补=010101+100110=111011 X+Y==-00101 看来采用补码连同符号位一起运算,比用原码运算高明多了,但不要高兴得太早,我们再看下面例子。 例1:设机器得字长为8位 X=+1000101,Y=+1100111,试计算X+Y 解: [Y]补 +[X]补 [X]补+[Y]补即[X+Y]补=[X]补+[Y]补 求得X+Y=-1010100 明明两个正数相加,结果却为负的。很显然,该结果是错误,那么错在哪里呢? 我们来分析一下: 由该例可知真值X和Y所表示的十进制数分别为(69)10和(103)10,其和为(172)10,该数用二进制数为在机器中表示这个数需要9位。而现在机器的字长为
您可能关注的文档
最近下载
- 人教版(2024)七年级下册数学第七章 相交线与平行线 大单元教学设计 .pdf VIP
- 研究生英语综合教程(上)熊海虹 课文翻译及课后习题答案.pdf VIP
- 监理大纲光伏电站工程.pdf VIP
- GB_T 31497-2024 信息技术 安全技术 信息安全管理 监视、测量、分析和评价.pdf VIP
- 无人机法律法规与安全飞行 第2版 第二章 空气空间法律制度.pptx VIP
- 艺术概论全套配套课件孙丽华11 第二主题 话题7 文学漫步.ppt VIP
- 艺术概论全套配套课件孙丽华10 第二主题 话题6 舞之神韵.ppt VIP
- 水泥混凝土路面施工及验收规范.pdf VIP
- 艺术概论全套配套课件孙丽华9 第二主题 话题5 音乐之声.ppt VIP
- 《岳阳楼记》文言知识点梳理.doc VIP
文档评论(0)