C/C++用移位运算代替乘除法能够显著提高运算效率
比如运算2乘以8
a=2*8;
可以写为
a= 2<<3,
表示2左移三位
另外 整数不是2的幂的数也可以利用这种方式
比如
b=b*9
可以看做b=b*(8+1)=b*8+b
从而 b=b<<3 +b
从而
b=b*7改为 b=b<<3-b