Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C / C ++で算術演算子を使用せずに2つの整数を合計するにはどうすればよいですか?


以下は、算術演算子を使用せずに2つの数値を加算する例です。

#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()は2つのint型引数で定義されています。 2つの数値の加算は、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);

  1. C言語のポインタを使用して配列要素の合計を計算するにはどうすればよいですか?

    ポインタは、他の変数のアドレスを格納する変数です。 次のステートメントを検討してください- int qty = 179; ポインタの宣言 ポインタを宣言するための構文は次のとおりです- int *p; ここで、「p」は他の変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 たとえば、 int qty = 175; int *p; p= &qty; ポインタの配列 これは、アドレスのコレクション(または)ポインターのコレクションです。 宣言 以下は、ポインタの配列の宣言です- dataty

  2. Cのポインタを使用して2つの行列を乗算するにはどうすればよいですか?

    ポインタは、別の変数のアドレスを格納する変数です。 ポインタの機能 ポインタはメモリスペースを節約します。 メモリ位置に直接アクセスできるため、ポインタの実行時間が短縮されます。 ポインタを使用すると、メモリに効率的にアクセスできます。つまり、メモリは動的に割り当てられ、割り当てが解除されます。 ポインタはデータ構造で使用されます。 ポインタの宣言、初期化、アクセス 次のステートメントを検討してください- int qty = 179; メモリ内では、変数は次のように表すことができます- 宣言 ポインタの宣言は、以下のように実行できます- Int *p; これは、「p」が別