科学网

 找回密码
  注册

tag 标签: 无符号

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

硬件实现两个无符号数相加时,结果是否溢出的判断方法
eecs 2010-4-21 12:30
这里讲用硬件如何实现两个无符号数相加时,结果是否溢出的判断方法。 假设两个加数为A和B,和为C,即A+B=C,其中A、B、C都是n位的,假设溢出位为o。 方法1:o=(A B )|(((A (~B ))|((~A )B ))(~C )) 使用的时候,通过组合电路生成C和o,然后将C和o寄存。 这种方法适用于硬件中 没有全加器 , 只有半加器 的情况。 方法1指出溢出的条件为:当A、B的最高位为1时,和溢出;当A和B的最高位有一个为1时,当C的最高位为0时溢出。 证明:假设A的最高位为1,B的最高位为0,则A的取值范围 ,B的取值范围 。那么A+B的取值范围为 ,当A+B的值位于 时,没有溢出,C的最高位肯定为1;当A+B的值位于 时,溢出,C的最高位肯定为0(因为数值范围 的次高位,也就是C的最高位都为0)。 方法2:当硬件中 有全加器 时,将C扩展为n+1位,则o=C 。 方法3:当CB或者CA时,肯定就溢出了。
个人分类: 文章专区|7473 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-1 21:34

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部