如何在C / C ++程序中不使用算术运算符的情况下将两个整数相加?

在本教程中,我们将讨论一个程序,以了解如何在不使用C / C ++的算术运算符的情况下对两个整数求和。

要在不使用算术运算符的情况下相加两个整数,可以使用指针或按位运算符来实现。

示例

使用指针

#include <iostream>

using namespace std;

int sum(int a, int b){

   int *p = &a;

   return (int)&p[b];

}

int main() {

   int add = sum(2,3);

   cout << add << endl;

   return 0;

}

输出结果

5

示例

使用按位运算符

#include <iostream>

using namespace std;

int sum(int a, int b){

   int s = a ^ b;

   int carry = a & b;

   if (carry == 0)

      return s;

   else

      return sum(s, carry << 1);

}

int main() {

   int add = sum(2,3);

   cout << add << endl;

   return 0;

}

输出结果

5

以上是 如何在C / C ++程序中不使用算术运算符的情况下将两个整数相加? 的全部内容, 来源链接: utcz.com/z/317120.html

回到顶部