Wednesday, November 21, 2007

% operator

我們知道 % operator 就是除法取其餘數的運算子。
例如:

Q = A % 2;

一般來說, Q 值不是 0 就是 1。

不過, 我一直沒有想過如果被除數 A 是負數的時候, 會發生什麼情形? 今天下午我在寫程式時, 就發生了這樣的例子, 害我 debug 很久, 把程式一堆變數的值一一顯示出來看, 才發現這個有趣的問題。原來, 如果被除數 A 是負數的時候, 餘數也會是負數的!
例如:
 
-3 % 2 = -1