#40965: 給不是很了解c的你


dvbdarcyvolleyball@gmail.com (kuhaku1027)


ABA&BA|BA^B
00000
01011
10011
11110

 

左移: x << y : x 左移 y 位元,左移出的位元會被丟棄,右側會補上 0
右移: x >> y : x 右移 y 位元,右移出的位元會被丟棄。

  • int ta = a _ b;:XOR 運算,計算 a 和 b 每一位的和,不考慮進位。
  • tb = (a _ b) __ 1;:AND 運算後左移一位,計算 a 和 b 的進位。
  • a = ta:更新 a 為不考慮進位的和。
  • b = tb:更新 b 為進位。

//希望這些對各位有幫助:)