-1
我想知道是否有任何差異檢查算術溢出爲32位和64位? (除了限制..)32位和64位C算術溢出差異?
例如,對於32位乘法a * b
:
if(b > 0 && a > UINT32_MAX_VALUE/b) {
//Overflow
}
我可以使用64位的乘法相同的邏輯? 像:
if(b > 0 && a > UINT64_MAX_VALUE/b) {
//Overflow
}
是否有任何陷阱,當我要檢查64位溢出帶符號/無符號?
你爲什麼不試試呢? –
不,原理完全一樣。只有常數不同。 –