【发布时间】:2021-05-08 21:35:33
【问题描述】:
以下是我正在尝试实现的代码:
if (n1 > 0 && n2 > 0 && result >= Integer.MAX_VALUE) {
result = Integer.MAX_VALUE;
}
else if (n1 > 0 && n2 > 0 && (result <= Integer.MIN_VALUE || result < 0)) {
result = Integer.MAX_VALUE;
}
else if (n1 < 0 && n2 < 0 && (result <= Integer.MIN_VALUE || result == 0)) {
result = Integer.MIN_VALUE;
}
但我没有得到令人满意的结果。例如,-2147483640-10 给我 2147483646。
我确信必须有一种更具体的方法来进行饱和。
【问题讨论】:
标签: java integer overflow underflow saturation-arithmetic