判断溢出

  1. int uadd_ok(unsigned x, unsigned y) {
  2. unsigned sum = x + y;
  3. if (sum >= x) {
  4. return 1;
  5. }
  6. else {
  7. return 0;
  8. }
  9. }

推导
数据溢出 - 图1

加法逆元

数据溢出 - 图2
x’是加法逆元,也就是相反数