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
-
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
-
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 = (