如何在 C/C++ 中不使用算术运算符求和两个整数?


以下是不用算术运算符求和的示例。

示例

 实时演示

#include <iostream>
#include <cmath>
using namespace std;
int add(int val1, int val2) {
   while(val2 != 0) {
      int c = val1 & val2;
      val1 = val1 ^ val2;
      val2 = c << 1;
   }
   return val1;
}
int main() {
   cout <<"The sum of two numbers : "<< add(28, 8);
   return 0;
}

输出

The sum of two numbers : 36

在以上程序中,定义了一个函数 add(),它包含两个 int 类型参数。将两个数字相加的代码编写在 add() 中。

int add(int val1, int val2) {
   while(val2 != 0) {
      int c = val1 & val2;
      val1 = val1 ^ val2;
      val2 = c << 1;
   }
   return val1;
}

在 main() 函数中,通过调用函数 add() 打印结果。

cout <<"The sum of two numbers : "<< add(28, 8);

更新于:26-Jun-2020

205 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告