如何在 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);
广告