这是一个简单的 C 计算。当 FilterIndex 等于 FilterDepth 时,上面的第一个不会翻转。也就是说,FilterDepth是15,filterIndex变成15,一旦cpu执行了这个,应该是0,但是变成了16,后来变成了1,永远不会是0。
如果我将逻辑一分为二,它就可以工作。我在这里想念什么?
filterIndex = ((filterIndex++) % FilterDepth) ;
对比
filterIndex++;
filterIndex=filterIndex % FilterDepth;