int isOverflow(uint a, uint b) {
// a and b are unsigned non-zero integers.
uint c = a * b;
if (c < ( a > b ? a : b))
return 1;
else
return 0;
}
我错过了什么吗?我认为上面的片段会起作用。
编辑:我见过其他解决方案,比如大数的乘法,如何捕捉溢出,它使用一些花哨的方法来检查它。但对我来说,上面的简单解决方案看起来也是正确的。这就是我问这个问题的原因。