码迷,mamicode.com
首页 > 其他好文 > 详细

不用加减乘除做加法

时间:2014-08-07 19:02:00      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:不用加减乘除做加法

很容易想到为二进制的与或非。

加法分为三步:

1 各位相加不进位 0 + 0 =0, 0+1 = 1,1+0=1,1+1=1,很明显是异或运算

2 进位 1+1 =10进位,其余均不进位 ,进行左移动一位

3 一直循环

代码:

#include <iostream>

using namespace std;

int sum(int data1,int data2){

	int sum,carry;
	do{
		sum = data1 ^ data2;
		carry = (data1 & data2)<<1;
		data1 = sum;
		data2 = carry;
	}while(carry != 0);

	return data1;
}

void main(){

	cout <<sum(6,7);
	
}

运行结果:

bubuko.com,布布扣

不用加减乘除做加法,布布扣,bubuko.com

不用加减乘除做加法

标签:不用加减乘除做加法

原文地址:http://blog.csdn.net/buyingfei8888/article/details/38421787

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!