在本教程中,我们将讨论一个程序,以了解如何在不使用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