我有一个值,随着时间的推移,从1增加到6然后返回到1.因此在几个帧中看到的序列将是:
1, 2, 3, 4, 5, 6, 1, 2, 3, 4...
如果硬件设备有缺陷,其中一个号码可能无法正确读取,因此序列可能如下所示:
1, 2, 6, 4, 5, 6, 1, 2, 6, 4...
检测此不一致的快速,简短方法是什么?
注意:
6, 5, 4, 3, 2, 1, 6, 5, 4, 3....
答案 0 :(得分:1)
您可以使用模运算符:
(current_value - previous_value + 6) mod 6 == 1
+6
用于确保mod
的正面论证。不同的语言会以不同的方式处理否定值,但如果-5 mod 6
评估为您的1
,则可以省略+6
。