我是靠谱客的博主 幸福哈密瓜,这篇文章主要介绍模-n计数器,现在分享给大家,希望可以做个参考。

通常的做法是将计数器加1,再将结果除以n(n为最大值),余数为结果。这种计数器用途很广,如循环队列。

 

counter = (counter + 1)%n;

 

相比来讲,使用比较的方法来实现的话效率会更高:

 

counter = counter + 1;

if( counter >= n )

{

    counter = 0;

}

 

而大多数情况下,与运算的方法显得更加高效,缺点就是最大值不能随意取:

 

即计数器加1,再与数n=2m - 1(0至m-1位都是1,其他位都是0)

n = 0x3f = 25 - 1 = 31,即 n = 00011111,n为最大值,且是2的倍数减1的数:

 

counter = (counter + 1) & 0x3f;

最后

以上就是幸福哈密瓜最近收集整理的关于模-n计数器的全部内容,更多相关模-n计数器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(168)

评论列表共有 0 条评论

立即
投稿
返回
顶部