English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Come sommare due interi senza utilizzare operatori aritmetici in C / C++?

Ecco un esempio di come sommare due numeri senza utilizzare operatori aritmetici.

Esempio

#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 << "La somma di due numeri: " << add(28, 8);
   return 0;
}

Risultato di output

La somma di due numeri: 36

Nella seguente programma, la funzione add() definisce due parametri di tipo int. L'addizione di due numeri è codificata all'interno di add()

int add(int val1, int val2) {
   while(val2 != 0) {
      int c = val1 & val2;
      val1 = val1 ^ val2;
      val2 = c << 1;
   }
   return val1;
}

Nella funzione main(), chiamando la funzione add() per stampare i risultati

cout << "La somma di due numeri: " << add(28, 8);