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