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)) { //会溢出 }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。