首页 > 代码库 > 编程算法 - 不用加减乘除做加法 代码(C)

编程算法 - 不用加减乘除做加法 代码(C)

不用加减乘除做加法 代码(C)


本文地址: http://blog.csdn.net/caroline_wendy


题目: 写一个函数, 求两个整数之和, 要求在函数体内不得使用+, -, *, /四则运算符号.


不能使用运算符号, 使用位运算, 第一步异或运算选位, 第二步与运算进位.


代码:

/*
 * main.cpp
 *
 *  Created on: 2014.7.13
 *      Author: Spike
 */

#include <iostream>
#include <list>

using namespace std;

int Add (int num1, int num2) {
	int sum, carry;
	do {
		sum = num1 ^ num2;
		carry = (num1 & num2)<<1;
		num1 = sum;
		num2 = carry;
	}while(num2 != 0);
	return num1;
}

int main(void)
{
    int result = Add(105, 37);
    std::cout << "result = " << result << std::endl;
    return 0;
}



输出:

result = 142





编程算法 - 不用加减乘除做加法 代码(C)