[英]Comparing to a counter which reset
我有一个uint32计数器。 我读了这个计数器并像startCount = counter;
一样存储它startCount = counter;
然后,我进行一些操作,然后再次检查计数器。 如果counter大于startCount + 1(意味着counter必须至少增加两次)。
if (counter > startCount +1 )
break;
现在,一旦达到unit32的最大值,计数器将重置为零。 为了弥补这一点,我添加了
if (startCount == Max)
if (counter > 0)
break;
else
if (counter > startCount +1) || (counter < startCount)
break;
我的问题是:有没有更好/更聪明的方法呢? 感谢您的所有帮助。
只需在下面检查即可涵盖所有内容
if (counter > startCount +1) || ( (counter != startCount) && (counter < startCount +1))
break;
`
我会用
if (counter-startCount > 1) break;
或者,如果我想让int
位数超过32位,
if ((uint32_t)(counter-startCount) > 1) break;
增量的数量计算模2 32 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.