峰之博纹 - Pelephone个人博客

用位运算判断单双数

很多高人都用上了位运算,本人觉得位运算不直观,增加读码成本;另一方面是本人懒,今看到些常用的位运算的方式,丢上空间mark一下。

用位运算表示单双数应该是用得最多的吧,先上一段不是位运算的方式

res = (num%1=0)?1:0;

位运算代码是这样 res = num&1;

打个注释后还是位运算更直观些吧。

往后有空再补上其它研究的方法。

 

向左位移1表示2倍

num*2 == num<<1;

 

右移1表示1/2倍

num/2 == num>>1;

 

左移0表示去小数

num = 0.23;

num<<0 == 0

 

右移0表示四舍五入取整

num = 0.23;

num<<0 == 0


num = 0.53;

num<<0 == 1

posted @ 2012-04-21 15:07  Pelephone  阅读(465)  评论(0编辑  收藏  举报