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

更新於:26-Jun-2020

205 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.