- 1、本文档共168页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机的算术运算
数字的精度对科学非常重要。
D’arcy Wentworth Thompson On Growth and Form, 1917
4.1.简介 1
4.2 带符号数与无符号数 2
4.3 加法与减法 17
4.4 逻辑运算 26
4.5 构造算术逻辑单元 35
4.6乘法 50
4.7 除法 69
4.8.浮点运算 83
4.9.实际资料:PowerPC和80x86中的浮点部件 117
4.10.谬误和陷阱 122
4.11 结论 127
4.12.历史回顾和参考文献 134
4.13 重要术语 148
4.14 习题 149
计算机的五个典型部件
4.1.简介
计算机中的字(word)是由位(bits)组成的,因此,字可以表示为二进制的数字。大家都知道,自然数(0,1,2等等)既可以用十进制的形式表示,也可以用二进制的形式表示,但是,其它一些常见的数又如何表示呢?例如,
如何表示负数?
可以用计算机中的字表示的最大的数是多少?
如果某一操作所产生的结果比一个字所能表示的最大的数还大,那会出现什么情况呢?
小数和实数如何表示?
奔腾芯片曾经出过一个臭名昭著的浮点运算错误,你可能会问,这到底是怎么一回事呢?在所有这些问题的背后,都有一个很基本的原理需要弄清楚:硬件究竟是如何进行加法、减法、乘法以及除法运算的?
本章的目的就是要揭示这些基本原理;这其中包括如何表示各种数据,用什么算法来实现算术运算,硬件是如何实现这些算法的,以及在指令集中如何表示所有这些有关的内容,等等。有了这些知识之后,你就能解释在使用计算机的过程中遇到的各种不明白的事情了。(如果你对如何表示带符号的二进制数很熟悉的话,就可以跳过下一节,直接转到220页的4.3节)。
4.2 带符号数与无符号数
我们可以通过各种基数(base)来表示一个整数。正象我们在第三章中所介绍的那样,人们通常习惯于以10为基数,而在计算机中则更适合于以2为基数。由于我们常常既要用到十进制数,又要用到二进制数,因此,为了避免混淆,我们用下标10来表示十进制数,而用下标2表示二进制数。
对于任何一种进制(设基数为base)而言,其中的第i个数字d所代表的值为:
d ( Base i
其中,i由右至左从0开始依次递增。自然而然地,由此也得到一种对字(word)中的各个位进行编号的方法:直接将与该位对应的基数的幂次作为其编号即可。例如:
10112
代表了:
(1 ( 23) + (0 ( 22) + (1 ( 21) + (1 ( 20)10
= (1 ( 8) + (0 ( 4) + (1 ( 2) + (1 ( 1)10
= 1110
在这个字中,各位按从右到左的顺序依次编号为0, 1, 2, 3, …。下图给出的是MIPS机器一个字中各个数位的编号方法,并标出了数10112的放置位置:
一个字的各位既可以按由低位到高位的顺序从左至右排列,也可以从右至左排列。因此,“最左位”(leftmost)和“最右位”(rightmost)这两个词是有歧义的。为了避免这个问题,我们用最低有效位(Least significant bit; LSB)来表示上例中最右侧的第0位,而用最高有效位(Most significant bit; MSB)来表示最左侧的第31位。
MIPS机器的字长为32位,因此,一个字可以用来表示232种32位长的不同模式。很自然地,我们可以用这些组合来分别表示数字0到232-1(一共4,294,967,29510个):
=
=
=
...
=
=
=
软硬件接口
将2作为基数,这并不符合人们的习惯。由于人有10个手指头,我们自然而然地就习惯了以10为基数的计数法。那么,计算机为什么不采用十进制呢?实际上,最早的商用计算机确实提供了一些十进制操作。但问题是,由于(10(8)/32=2.5倍。除了需要更多的存储空间以外,对于用这种方法表示的数字,硬件在做加法、减法、乘法以及除法等各种运算时,所执行的操作也要比二进制表示法复杂得多。正是基于这些原因,计算机专家们才一致认为,在计算机中使用二进制表示法是再自然不过的了,即使只是偶尔使用十进制表示法,也会让他们感到奇怪的。
要注意的是,二进制位的各种组合方式不过是用来代表某个数字而已。其实,每一个整数实际上都有无数位;在这无数位中,除了最右边的若干位以外,其余的都是0。只不过我们通常不写出数字左边的这些0而已。
我们在4.5节到4.7节中将提到,可以用硬件的方式直接对以二进制方法表示的数进行加法、减法、乘法以及除法等运算。如果这些运算的正常结果无法用硬件所能提供的有效位数表示出来,就称这种现象为“溢出”(o
您可能关注的文档
- 八年级数学线段垂直平分线.ppt
- 发送超大文件给客户8种方法.doc
- 第二节 B2B电子商务.ppt
- 第9章 电子商务企业资源计划及供应链管理.ppt
- 给排水计算软件使用说明_附件.doc
- 智能变电站对电气设备一些要求(钱.ppt
- 怎样品析文章的语言.ppt
- 实验二基本算数运算详解.doc
- 云南省银行业金融机构高级管理人员任职资格考试题库课件.pdf
- 高斯随机过程_附件.ppt
- 毕马威-银行业可持续相关信息披露:2024年报告周期基准分析结果.pdf
- 国信证券-金属行业中期投资策略:供给收缩需求稳增,逆全球化下金属价值重估.pdf
- 方正证券-基础化工行业-25Q2化工景气底部延续,关注业绩增量具备确定性的板块及个股.pdf
- 西部证券-京东物流-2618.HK-首次覆盖报告-开放创新、稳健成长的一体化供应链龙头.pdf
- 东北证券-机械设备行业机器人轻量化-材料与技术的革新之路.pdf
- 西部证券-康农种业-837403-首次覆盖报告:种业后起之秀大单品快速放量打开成长空间.pdf
- 平安证券-社会服务行业2025年中期策略报告:新世代、新需求、新消费.pdf
- 长城证券-Robotaxi正式推出量子计算迎来最新突破看好智驾、量子产业链长期发展.pdf
- 国盛证券-容知日新-688768-蓝海市场渗透率提升,预测性维护让工业更美好.pdf
- 广发证券-金融-银行行业:如何理解外币存款增量回升?.pdf
最近下载
- 电力设备公司产品制造车间生产定额计件工资实施办法.docx VIP
- 2023国有企业“三重一大”决策制度实施细则办法.pdf VIP
- 安徽大学《地球科学概论》课件-第4讲大气圈、冰冻圈、岩石圈.pptx VIP
- 国家开放大学(电大)《农业生态基础.》2020年09月春季期末考试真题及答案(试卷代号2794).pdf VIP
- 餐饮行业员工职业规划.pptx VIP
- 《数学数学期望》课件.ppt VIP
- 肾病内科专业疾病临床诊疗规范2025版.docx VIP
- 质量信得过班组培训课件.pptx VIP
- 《高级英语FacetoFacewithHurricaneCamille》-精选课件(公开).ppt VIP
- 高中化学课件:芳环上的亲核取代反应.pptx VIP
文档评论(0)