32ビットと64ビットの算術オーバーフローをチェックすることで違いがあるのだろうか?(制限を除く..)
たとえば、32ビット乗算の場合a * b
:
if(b > 0 && a > UINT32_MAX_VALUE / b) {
//Overflow
}
64ビット乗算に同じロジックを使用できますか?お気に入り:
if(b > 0 && a > UINT64_MAX_VALUE / b) {
//Overflow
}
符号付き/符号なしで64ビットオーバーフローをチェックする必要がある場合、トラップはありますか?