如何检测32位整数上的整数溢出?

如何检测32位整数上的整数溢出?,第1张

如何检测32位整数上的整数溢出
Math.addExact
在溢出时引发异常

从Java
8开始,

Math
该类中提供了一组方法:

  • toIntExact(long)
  • addExact(int,int)
  • subtractExact(int,int)
  • multiplyExact(int,int)

…以及很长的版本。

ArithmeticException
如果发生溢出,这些方法中的每一个都会引发。否则,如果它在该范围内,它们将返回正确的结果。

添加示例:

int x = 2_000_000_000;int y = 1_000_000_000;try {    int result = Math.addExact(x, y);    System.out.println("The proper result is " + result);} catch(ArithmeticException e) {    System.out.println("Sorry, " + e);}

看到此代码在IdeOne.com上实时运行。

抱歉,java.lang.ArithmeticException:整数溢出



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5479079.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-12
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存