java判断一个整数是否溢出_如何检查Java中的两个数字是否会引起溢出?

9f61aee672c8a023ae86c789ef801086.png

若吾皇

如果a和b均为正,则可以使用:if (a != 0 && b > Long.MAX_VALUE / a) {    // Overflow}如果您需要同时处理正数和负数,则更加复杂:long maximum = Long.signum(a) == Long.signum(b) ? Long.MAX_VALUE : Long.MIN_VALUE;if (a != 0 && (b > 0 && b > maximum / a ||               b < 0 && b < maximum / a)){    // Overflow}这是一张小桌子,我用鞭打检查一下,假装溢出发生在-10或+10:a =  5   b =  2     2 >  10 /  5a =  2   b =  5     5 >  10 /  2a = -5   b =  2     2 > -10 / -5a = -2   b =  5     5 > -10 / -2a =  5   b = -2    -2 < -10 /  5a =  2   b = -5    -5 < -10 /  2a = -5   b = -2    -2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值