实现除法
来源:互联网 发布:中国化妆品数据网 编辑:程序博客网 时间:2024/05/22 06:57
基本的策略就是:利用移位操作实现乘以2和除以2
除数等于0和1是特殊情况,可以提前判断,a<b也可以提前解决
1、被除数b乘以1,2,4,.......,2^n,直至b*2^n>=a,注意等号的区别处理
2、结果加上2^(n-1),a减去b*2^(n-1)
3、对a-b*2^(n-1),重复执行1,2
int div1(int a, int b){if (b == 0) return -1;if (a < b) return 0;int res = 0;while (a >= b){int temp = 1;while (b*temp < a){temp = temp << 1;}if (b*temp == a){res += temp;a = 0;}else{res += (temp >> 1);a = a - b*(temp >> 1);}}return res;}
阅读全文
0 0
- 实现除法
- 不用‘/’ 实现除法运算
- 实现竖式除法
- 移位实现乘除法
- C++实现大数除法
- 关于除法的加法实现
- 用+,-,移位实现除法运算
- 移位实现的乘除法
- 大整数除法的实现
- 用移位实现除法操作
- 用+,-,移位实现除法运算
- 移位实现的乘除法
- 简单的除法逻辑实现
- 二进制乘除法的实现
- Divide Two Integers:实现除法
- 除法
- 除法
- 除法
- 浅谈Spring事务隔离级别
- 常用的xml格式
- (转)走进Smart Beta的世界
- AsyncTask的异步执行方法中get请求的方式
- JavaScript实现阿拉伯数字和中文数字互相转换
- 实现除法
- 双卡双待(一)
- mysql5.7 主从同步
- 基于vue仿饿了么webapp部署到Coding上
- 【leetcode】67. Add Binary(Python & C++)
- 01字典树解决异或问题学习、
- SQL基础入门学习(1)
- Full GC有关问题学习分析(转载)
- maven添加jar包的方法