关于补码以及基本的补码运算.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于补码以及基本的补码运算 0.最基本的,补码怎么得到,这里不讨论。以及原码和补码的和是0,这个基础的结论,这里不做说明。 ? 1.加法的时候,判断溢出的方法:当两个加数的符号位相同,且结果的符号位与加数符号位不同的时候,则产生了溢出。显然,两个数,如果异号,显然不会溢出。溢出,只会出现在同号的情况,则有上面的结论。 ? 2.补码也是有权码。假如总共有n个比特,除最高位(符号位)以外,每一位的权值为2^i。而最高位的权值是-2^(n-1)!注意是负的!这一点很好理解:原码和补码的和是2^n,由于总共的位数只有n位,因此和的结果是0,因此补码的最高位权值就是负的。 ? 3.有符号数的乘法(补码的乘法),例子-5*-3: ? ? ? ? 1011 ? ? ? ? 1101 ----------- ? ??? 00000 ? ? ? 11011 ----------- ? ?? 111011 ? ?? 00000 ----------- ? ? 1111011 ? ? 11011 ------------ ???? 00101 ------------- ?? 有符号数的乘法与无符号数的乘法的区别在于: a.在做每一位的乘法的时候,都要做一个位扩展,即扩展符号位。如上的例子,第一步做1011*1的结果是11011,扩展了一位符号位1。道理很简单,因为这一步的结果要和下一步做一个加法,而下一步的加数的位宽较现在这一步位宽要宽一位,而加法发生在位宽相同的两个数之间,因此要做一个符号位的扩展。 b.最高位的乘法与其他位稍有不同。因为最高位的权值是-2^(n-1) ,所以乘法的结果要做一个取反加一的操作。如上例,1011*1(最高位的1),结果是11011(做符号位扩展),然后做一个取反加一的操作,得到例子中的00101。 ? 4.有符号数的除法:先将有符号数取绝对值,做无符号数的除法,得到结果,最后根据被除数和除数的符号,确定商以及余数的符号。 2.3.2 补码乘法[1]  作者:pz整理 来源:网络 2010年4月2日 发表评论 进入社区 2.3.2 补码乘法      1.补码与真值得转换公式      补码乘法因符号位参与运算,可以完成补码数的“直接”乘法,而不需要求补级。这种直接的方法排除了较慢的对2求补操作,因而大大加速了乘法过程。      首先说明与直接的补码乘法相联系数学特征。对于计算补码数的数值来说,一种较好的表示方法是使补码的位置数由一个带负权的符号和带正权的系数。今考虑一个定点补码整数[N]补=anan-1…a1a0,这里an是符号位。根据[N]补的符号,补码数[N]补和真值N的关系可以表示成:   如果我们把负权因数-2n强加到符号位an上,那么就可以把上述方程组中的两个位置表达式合并成下面的统一形式: ??? ??? (2.29)   [例19] 已知: [N1]补 = (01101)2,[N2]补=(10011)2,求[N1]补,[N2]补具有的数值。      [解:]      [N1]补=(01101)2 具有的数值为:      N1=-0×24+1×23+1×22+0×21+1×20=(+13)10      [N2]补=(10011)2 具有的数值为:      N2=-1×24+0×23+0×22+1×21+1×20=(-13)10 2.3.2 补码乘法[2]  作者:pz整理 来源:网络 2010年4月2日 发表评论 进入社区 ??? 2.一般化的全加器形式      常规的一位全加器可假定它的3个输入和2个输出都是正权。这种加法器通过把正权或负权加到输入/输出端,可以归纳出四类加法单元。如右表,0类全加器没有负权输入;1类全加器有1个负权输入和2个正权输入;依次类推。      对0类、3类全加器而言有:    ??? S=XYZ+XYZ+XYZ+XYZ ??? C=XY+YZ+ZX      对1类、2类全加器,则有 ??? S=XYZ+XYZ+XYZ+XYZ ??? C=XY+XZ+YZ 表2.3 四类一般化全加器的名称和逻辑符号 2.3.2 补码乘法[3]  作者:pz整理 来源:网络 2010年4月2日 发表评论 进入社区 ??? 注意,0类和3类全加器是用同一对逻辑方程来表征的,它和普通的一位全加器(0类)是一致的。这是因为3类全加器可以简单地把0类全加器的所有输入输出值全部反向来得到,反之亦然。1类和2类全加器之间也能建立类似的关系。由于逻辑表达式具有两级与一或形式,可以用“与或非”门来实现,延迟时间为2T。 2.3.2 补码乘法[4]  作者:pz整理 来源:网络 2010年4月2日 发表评论 进入社区 ??? 3.直接补码阵列乘

文档评论(0)

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

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

1亿VIP精品文档

相关文档