位运算实现加减乘除四则运算
来源:互联网 发布:天意网络魔域一条龙 编辑:程序博客网 时间:2024/05/16 00:33
//只用逻辑运算实现加法int add(int a, int b){if(0 == b){return a;}int sumTemp = a ^ b;int carry = (a & b) << 1;return add{sumTemp, carry};} //只用逻辑运算实现减法int minus(int a, int b){b = add(~b, 1);return add(a, b); }//逻辑运算实现除法 低效 int div(int a, int b){assert(b == 0); int result = 0;while(a >= b){result++;a = a - b;}return result;} //逻辑运算+递归 实现除法 高效 int div(const int x, const int y){int temp = x;int result = 0;while(temp >= y){int multi = 1;while(y * multi <= (temp >> 1)){multi = multi << 1;}result += multi;temp -= y * multi;}return result;}//只用逻辑运算实现乘法int multipiy(int a , int b){bool flag = (b < 0);if(flag){b = -b;}map<int, int> bit_map;for(int i =0; i < 32; i++){bit_map.insert(pair<int, int>(1 << i, i));}while(b > 0){int last_bit = bit_map[b & ~(b - 1)];sum += (a << last_bit);b &= (b - 1);}if(flag){sum = -sum;}return sum;}
阅读全文
0 0
- 位运算实现加减乘除四则运算
- 用位运算实现四则运算之加减乘除 .
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 使用位运算实现加减乘除四则运算
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 使用“位运算”实现“四则运算”之加减乘除
- 用位运算实现四则运算之加减乘除
- 用Java位运算实现加减乘除四则运算
- 只用位运算来实现整数的加减乘除四则运算
- 只用位运算来实现整数的加减乘除四则运算
- 每天一道LeetCode----位运算实现加减乘除四则运算
- 位操作实现加减乘除四则运算
- 位操作实现加减乘除四则运算
- NIO
- Redis 事务
- CodeForces 3 D.Least Cost Bracket Sequence(贪心+优先队列)
- 如何在字符串的长时间("2017-07-18 00:00:00")上对短时间("yyyy-mm-dd")分组和排序
- ble之gatt server
- 位运算实现加减乘除四则运算
- Codeforces 825D Suitable Replacement【贪心】水题
- Git for windows 配置
- 内存映射文件:MappedByteBuffer
- Hadoop基本概念
- ajax+json+Struts2实现list传递
- C#编程入门_异常处理_16
- C++基础-继承
- 基线问题以及块级转化内联有空隙问题