qq_37512015
qq_37512015
采纳率31.6%
2019-04-25 19:02 阅读 1.3k

unsigned long long相加或者相乘,怎么判断溢出?

unsigned long long类型数据,相加或者相乘,怎么判断溢出?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • rubikchen 502203305 2019-04-25 19:58

    这个就用到了数学方面的知识了,你只需要对两个数分别取对数,并且看看他们的和是否大于等于64就行了。

    log2(a)+log2(b) >= 64就是溢出,这两个方法需要包含math.h

    点赞 2 评论 复制链接分享
  • xxf1996 xxf1996 2019-04-26 09:12

    用unsigned long long类型所允许的最大值,减去或者除去其中一个减数或者因数,用所得结果与被减数或者另一个因数比较大小,前者大则没有溢出,否则溢出。

    点赞 2 评论 复制链接分享
  • lkh747566933 lkh747566933 2019-04-25 20:07

    用汇编就简单了, 标志寄存器里面有一个溢出标志位 OF, 检查这个标志位就可以了.
    或者两数相加,判断它们的和如果小于某一个数则证明溢出

    点赞 1 评论 复制链接分享
  • weixin_42375906 Rotch 2019-08-07 14:46

    比如:五位数 * 五位数 的结果是 十位数(5 + 5)。先获取两个 long long 变量**数字**的长度,再相加,超过long long 规定的范围就超了

    点赞 评论 复制链接分享

相关推荐