本文地址: 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
原文:http://www.cnblogs.com/mengfanrong/p/3985802.html