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

2015-01-22 21:13:13 · 作者: · 浏览: 23

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

?

?

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

?

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

?

代码:

?

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

#include 
  
   
#include 
   
     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


?

?

?