bool IsOveflow_uint(unsigned int original, unsigned int add) {

unsigned int before = original;

unsigned int after = before + add;

if((original & 0x80000000) != (after & 0x80000000)) 

return false;

return true;

}


A
B = A + d

[ signbit(A), signbit(B) ]

[0, 0] -> non-overflow, overflow 모두 가능
00 + 01 -> non-ov

01 + 11 -> ov


[0, 1] -> non-ov

[1, 0] -> ov


[1, 1] -> non-ov, ov 모두 가능

10 + 01 -> non-ov

11 + 11 -> ov

아예 코드 자체가 틀려 먹은거 같은데????

주딱이 달아놓은 A > B 가 골든 정답임. 더했는데 대소가 바뀌었다는건 오버플로우 나서 한 바퀴 돌았다는 것하고 동치임