オ〜バ〜フロ〜フラグ

キャリに続いてこっちもにゃにゃやみの種にゃ。
こっちはぐぐってみたらいいのを見つけたので、真似〜。

// c = a + b;
bool OVERFLOW(u32 a, u32 b, u32 c) {
 return
   ((~(a ^ b)) & (a ^ c) >> 31)
     ? true : false;
}

減算にゃは、こんにゃ感じ。

// c = a - b;
bool OVERFLOW(u32 a, u32 b, u32 c) {
 return
   ((a ^ b) & (~(b ^ c)) >> 31)
     ? true : false;
}