如何在 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP