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