位逻辑运算的巧妙应用

一般的逻辑与、或和异或操作大家都比较熟悉,应用也比较多。

作者在这里提到的利用逻辑与创建模-n计数器的用法,还是比较新颖的。看到这里,才发现前面做了那么多铺垫,终于看到了编程卓越之道的入门。(模-n计数器就是从零开始计数,到某个最大值之后复位归零。)

下面简单的描述一下几种方法:

1、  将计数器累加,再将结果除以n,使用余数作为最终结果;

cntr = ( cntr + 1 ) % n;

2、  利用比较操作来实现;

cntr = cntr + 1;

if ( cntr >= n )

   cntr = 0;

3、  利用与数n = 2m – 1进行逻辑与运算,假如n = 320x1f = 32 – 1

cntr = ( cntr + 1 ) & 0x1f;

孰优孰劣,可见分晓,逻辑与所做的运算指令是最少的,这就是高效率的编程。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值