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
本文介绍如何使用移位运算来替代传统的乘除法运算,以提高C/C++程序的执行效率。通过实例展示了如何将乘以2的幂次的操作转换为左移操作,并进一步扩展到非2的幂次的数的乘法运算。

被折叠的 条评论
为什么被折叠?