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

JavaScriptで「+」、「-」、「/」、「*」を使用せずに2つの数値の合計を検索する


2つの数値mとnを受け取るJavaScript関数add()を作成する必要があります。関数は、4つの基本的な算術演算を使用せずに、入力として取得された2つの数値を加算し、合計を返す必要があります。

このためのコードは-

になります
const m = 67, n = 33;
const add = (x, y) => {
   while(y !== 0){
      let carry = x & y;
      x = x ^ y;
      y = carry << 1;
   };
   return x;
};
console.log(add(m, n));

説明

2ビットのXOR(^)を実行すると、2ビットの合計が得られます。また、キャリービットは2ビットのAND(&)を実行することで取得できます。

ここでは、2つの整数を追加するために2つのシングルビットを追加するために使用できるHalfAdderロジックの拡張バージョンを使用しました。 xとyのビットが同じ位置に設定されていない場合、xとyのビット単位のXOR(^)は、xとyの合計になります。

共通のセットビットも組み込むために、ビット単位のAND(&)が使用されます。 xとyのビットごとのANDは、すべてのキャリービットを示します。 (x&y)<<1を計算し、それをx ^ yに追加して、必要な結果を取得しました。

出力

そして、コンソールの出力は-

になります
100

  1. C#を使用して2つの2進数の合計を見つける方法は?

    2つの2進数の合計を見つけるには、最初にそれらを設定します。 val1 = 11110; val2 = 11100; 次に、sumLを表示するために作成されたdisplaySum()メソッドを呼び出します。 sum = displaySum(val1, val2); 2進数の各ビットを表示するために、メソッドに新しい配列を設定しました。 long[] sum = new long[30]; 次に、以下のコードに示すように、2進数の合計を計算するための完全なコードを見てみましょう- 例 using System; class Demo {    public stati

  2. C#のメソッドを使用せずに2つの2進数の合計を見つけますか?

    まず、2つの変数を2進数で宣言して初期化します。 val1 = 11010; val2 = 10100; Console.WriteLine("Binary one: " + val1); Console.WriteLine("Binary two: " + val2); 合計を取得するには、両方の値が0になるまでループします。 while (val1 != 0 || val2 != 0) {    sum[i++] = (val1 % 10 + val2 % 10 + rem) % 2;    rem = (