- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 计算机的运算方法 6.1 无符号数和有符号数 关于补码表示的结论: 在补码表示中,仍以最高位作为符号位,0为正数、1为负数。补码的符号位是数值的一部分,可以和数值位一起参与运算,不需要单独处理。 数值0只有一种表示,无+0和-0之分,补码的负数域不含0。 负数补码和原码相比,多出了一个负数-1或-2n。以n+1位整数为例,原码绝对值最大的负数为-(2n-1),而补码绝对值最大的负数为-2n,其原因是在补码中0只占一个码点。 补码表示可以把减法转化为加法,用一套电路完成加法和减法。 最高位为0表示负数,为1表示正数。 移码全0时真值最小,全1时真值最大。 0的移码只有一个,[±0]移=100…0 同一数值的移码和补码,数位相同,而符号相反。 便于阶码大小的比较,便于对阶操作,有利于简化机器中的判零电路。 6.2 数的定点表示和浮点表示 例6.15 某浮点数字长32位;阶码8位,含一位阶符, 补码表示,以2为底;尾数24位,含一位数符,补码表 示,规格化。若浮点数代码为(A3680000)16,求其真值。 练习 按上题格式将 -(1011.11010…0)2写成浮 点数代码。 解: N=-(1011.11010…0)2=-(0.101111010…0)2×24 阶码 j=(4)10=(0000 0100)2 尾码 S补=(1.010000110…0)2 浮点数代码 = (0000 0100;1010000110…0)2 = (04A18000)16 6.3 定点运算 这种判断方法不容易由硬件来实现。 先判断操作数的符号是否相同,再判断结果的符号与原操作数的符号是否相同 两单符号位的补码进行加减运算时,若最高数值位向符号位的进位值C与符号位产生的进位输出值S相同时则无溢出,否则溢出。 实现乘法运算的方案: 软件编程方法实现(时序控制乘法器) 原码乘法是先取绝对值相乘,再根据同号相乘为正、异号相乘为负,单独决定符号位。 补码乘法则让符号位直接参加运算,算法将会复杂一些。 硬件快速乘法器实现 p296 图6.28 利用中大规模集成电路把多项部分积同时相加,这种结构的乘法器称为阵列乘法器。 原码乘法虽然容易实现,但一般计算机中数据多以补 码表示。若仍用原码做乘法,需要进行码制转换,反倒不 方便而且又影响速度。 结论: 被乘数x符号任意,乘数y的符号为正时,有: [x ? y]补=[x]补? [y]补= [x]补? (0.y1y2…yn) 被乘数x符号任意,乘数y的符号为负时,有: [x ? y]补=[x]补? [y]补=[x]补? (0.y1y2…yn)+[-x]补 [X·Y]补=[X]补·(-Y0 + Yi·2-i) =[x](-Y0+ Y12-1 + Y22-2 +…+ Yn2-n) =[x][-Y0+(Y1-Y12-1)+(Y22-1-Y22-2)+…+Yn2-(n-1) -Yn2-n] =[x][(Y1-Y0)+(Y2-Y1)2-1 +…+(Yn-Yn-1)2-(n-1) +(0-Yn)2-n] 补充一项 Yn+1=0,则上式可写为: 按机器执行顺序求出每一步的部分积 [z0]补=0 [z1]补={[z0]补+(Yn+1-Yn)[X]补}2-1 [z2]补={[z1]补+(Yn-Yn-1)[X]补}2-1 … [zi]补={[zi-1]补+(Yn-i+2-Yn-i+1)[X]补}2-1 … [zn]补={[zn-1]补+(Y2-Y1)[X]补}2-1 [zn+1]补={[zn]补+(Y1-Y0)[X]补}=[X·Y]补 根据布斯公式: [Zi+1]补={[Zi]补+(Yn-i+1-Yn-i)[X]补}2-1 [Zi+2]补={[Zi+1]补+(Yn-i-Yn-i-1)[X]补}2-1 把第一个式子带入第二个式子,可得到 [Zi+2]补={[Zi]补+(Yn-i+1+Yn-i -2Yn-i-1)[X]补}2-2 分析[X]的系数:(Yn-i+1+Yn-i -2Yn-i-1) 补码两位乘的运算规则 二进制除法实质是“作被除数(余数)和除数的减法,求新的余数”的过程 ①每次上商都是由心算来比较余数(被除数)和除数的大小,确定商为1还是0。 ②每做一次减法,总是保持余数不动,低位补0,再减去右移后的除数。 ③商符单独处理。 主要问题: 机器不能“心算”上商。 按照每次减法总是保持余数不动低位补0,再减去右移后的除数这一规则,则要求加法器的位数必
文档评论(0)