java 中如何检测两个数相乘后是否会导致溢出呢?
下文笔者通过实验的方式讲述相乘是否会溢出的检测,如下所示:
实现思路:
在相乘前,对数据进行判断
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))
{
//会溢出
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


