很多高人都用上了位运算,本人觉得位运算不直观,增加读码成本;另一方面是本人懒,今看到些常用的位运算的方式,丢上空间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