计算机的运算.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机的运算

计算机的算术运算 数字的精度对科学非常重要。 D’arcy Wentworth Thompson On Growth and Form, 1917 TOC \o 2-2 \h \z HYPERLINK \l _Toc524769437 4.1.简介 PAGEREF _Toc524769437 \h 1 HYPERLINK \l _Toc524769438 4.2 带符号数与无符号数 PAGEREF _Toc524769438 \h 2 HYPERLINK \l _Toc524769439 4.3 加法与减法 PAGEREF _Toc524769439 \h 17 HYPERLINK \l _Toc524769440 4.4 逻辑运算 PAGEREF _Toc524769440 \h 26 HYPERLINK \l _Toc524769441 4.5 构造算术逻辑单元 PAGEREF _Toc524769441 \h 35 HYPERLINK \l _Toc524769442 4.6乘法 PAGEREF _Toc524769442 \h 50 HYPERLINK \l _Toc524769443 4.7 除法 PAGEREF _Toc524769443 \h 69 HYPERLINK \l _Toc524769444 4.8.浮点运算 PAGEREF _Toc524769444 \h 83 HYPERLINK \l _Toc524769445 4.9.实际资料:PowerPC和80x86中的浮点部件 PAGEREF _Toc524769445 \h 117 HYPERLINK \l _Toc524769446 4.10.谬误和陷阱 PAGEREF _Toc524769446 \h 122 HYPERLINK \l _Toc524769447 4.11 结论 PAGEREF _Toc524769447 \h 127 HYPERLINK \l _Toc524769448 4.12.历史回顾和参考文献 PAGEREF _Toc524769448 \h 134 HYPERLINK \l _Toc524769449 4.13 重要术语 PAGEREF _Toc524769449 \h 148 HYPERLINK \l _Toc524769450 4.14 习题 PAGEREF _Toc524769450 \h 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的放置位置: 3130 31 30 29 28 27 26 25 24

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档