C/C++ 移位运算代替乘除法
2012-10-30 16:52
141 查看
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
比如运算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++用移位实现乘除法运算,提高运行效率
- C/C++中移位实现乘除法运算
- C/C++中移位实现乘除法运算
- 转贴C/C++用移位实现乘除法运算,提高运行效率
- C/C++用移位实现乘除法运算,提高运行效率
- C/C++中移位实现乘除法运算
- C/C++中移位实现乘除法运算
- 使用移位运算和加减法实现乘除法
- C/C++用移位实现除法运算
- C/C++中的移位运算
- c++ 64位二进制 移位运算并输出结果
- C++ 移位运算 浅析
- C++ 移位运算与进制转换 浅析
- C++ _int64 不能直接进行移位运算
- 位运算代替乘除法
- 【转】C++中移位运算
- C/C++ 移位运算 使表达式的值与变量的第n位相同
- 移位运算-2高效的乘除运算
- [java学习]移位运算交换两数的值的出错情况
- C#的委托代替C++的函数指针