用位操作符实现乘除法加减法
来源:互联网 发布:航天证券交易软件 编辑:程序博客网 时间:2024/04/30 14:29
1:乘除法
右移一位就是除以2,左移一位就是乘以2。
如:N*6 = N << 2 + N << 1
如:N*7 = N << 2 + N << 1+N
更详细的说明 http://bbs.csdn.net/topics/360102165
2:加减法
public int getSum(int a, int b)
{
while ((a & b) != 0x00)
{ //检查是否存在都为1的某一位,因为相加要进1;
final int x = (a & b) << 1;//&运算提取出每次都相同的某一位,并进一位。
final int y = (a ^ b); //^运算,提取&运算剩下的位,合并。
a = x;
b = y;
} //进行循环知道不进位
return a | b;
}
阅读全文
0 0
- 用位操作符实现乘除法加减法
- 使用位操作和逻辑运算符实现两数的加、乘、除法
- 使用移位运算和加减法实现乘除法
- 大数的加减法、乘除法 code
- 用位运算实现加减法
- 移位实现乘除法
- 位运算代替乘除法
- 不用除法实现%13操作(位操作)
- 不用除法实现%13操作(位操作)
- 位运算实现加减法
- 位运算 实现加减法
- 移位实现的乘除法
- 移位实现的乘除法
- 二进制乘除法的实现
- 乘性操作符(乘法、除法、求模)
- 使用位运算加速乘除法运算
- 通过位运算实现加减法
- 用移位实现除法操作
- hdoj1098 Ignatius's puzzle(数论)
- <转>javascript之Object.assign()痛点
- 第一次安装 iOS 应用获取网络权限
- 【raspberry】(一)认识树莓派
- 4. JavaScript 设计模式(适配器模式,外观模式)
- 用位操作符实现乘除法加减法
- winserver 2012R2 安装oracle及创建表流程
- 005 音量上下键调节音量流程
- mongodb添加用户
- Diffuse irradiance
- springMvc的配置文件springmvc.xml
- redis程序编译没有问题,运行是加载库有误
- gulp
- TCP/IP、Http、Socket的区别