用位运算实现四则运算之加、减、乘
来源:互联网 发布:printk源码 编辑:程序博客网 时间:2024/06/05 14:14
听同学百度二面中,不准用四则运算操作符来实现四则运算。一想就想到了计算机组成原理上学过的。
暂时没写除法,过一会补上。
#include <iostream>using namespace std;/*int add(int a, int b){//按位累加,慢,奇慢无比,hdu1000都过不了int c = 0;int flag = 0;int x = 1;while((a>=x) || (b>=x) || flag){c = c | ((a&x) ^ (b&x) ^ flag);if(((a&x) & (b&x)) || ((a&x) & flag) || (flag & (b&x)))flag = (x<<1);elseflag = 0;x = (x<<1);}return c;}*/int add(int a, int b){int t;while(b){//直到没有进位t = a^b;//不带进位加法b = ((a&b)<<1);//进位a = t;}return a;}int negtive(int a){return add(~a, 1);}int sub(int a, int b){return add(a, negtive(b));}int multiply(int a,int b){int ans = 0;while(b){if(b&1)ans = add(ans, a);a = (a<<1);b = (b>>1);}return ans;}int main(){int a, b;while(scanf("%d %d", &a, &b) != EOF){printf("%d\n", multiply(a,b));}return 0;}
- 用位运算实现四则运算之加、减、乘
- 用位运算实现四则运算之加减乘除 .
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 用位运算实现四则运算之加减乘除
- 利用位运算实现加、减、乘、除
- 用位运算实现加、减、乘、除、取余_demo(未完成)
- 使用“位运算”实现“四则运算”之加减乘除
- 位运算实现四则运算
- 位运算实现四则运算
- 位运算实现四则运算
- 位运算实现四则运算
- 位运算实现四则运算
- pselect
- 使用Xcode 4发布App 实例操作
- windows下java JNI编程技巧——JAVA调用c/c++(2)
- eclipse中升级ant 解决混淆ant版本过低
- 获取屏幕高宽,在代码中设置控件大小的方法
- 用位运算实现四则运算之加、减、乘
- Bash编程实例 一
- 分组取最大N条记录方法征集
- C 语言使用特定字符分割字符串
- xfire与spring开发问题小计
- 一个SQL server中间件介绍 - DBx™ SQL Server Cluster Middleware
- LNK4098 warning
- linux线程同步——条件变量
- XP 设备管理器错误代码!