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