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

更新時間:2020 年 3 月 2 日

506 次瀏覽

開啟你的 職業生涯

完成課程並獲得認證

立即開始
廣告
© . All rights reserved.