2012-07-12 72 views
0

這是一個簡單的C計算。當FilterIndex等於FilterDepth時,上面的第一個不會翻轉。換句話說,FilterDepth是15,filterIndex變成15,一旦cpu執行這個,它應該是0,但它變成了16,後來變成了1,從來沒有變爲0.爲什麼這個模數運算符給我帶來麻煩?

如果我把邏輯分成兩部分,我在這裏錯過了什麼?

filterIndex = ((filterIndex++) % FilterDepth) ; 

filterIndex++; 
filterIndex=filterIndex % FilterDepth; 

回答