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

JavaScriptでバイナリ配列を追加するアルゴリズム


バイナリ加算の基本

バイナリ加算の4つのルールは次のとおりです-

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

これらの点を念頭に置いて、2進数の加算は10進数の加算と非常によく似ています(キャリーの原則に従います)。

バイナリ文字列のみを含む2つの配列を受け取るJavaScript関数を作成する必要があります。 (「0」または「1」のいずれか)。

関数は、配列から対応するバイナリビットを追加し、それらの配列の追加の結果を含む新しい配列を返す必要があります。

例-入力配列が-

の場合
const arr1 = ['1', '0', '1'];
const arr2 = ['1', '0', '1'];

その場合、出力は-

になります。
const output = ['1', '0', '1', '0'];

このためのコードは-

になります
const arr1 = ['1', '0', '1'];
const arr2 = ['1', '0', '1'];
const addBinary = (arr1 = [], arr2 = []) => {
   const str1 = arr1.join('');
   const str2 = arr2.join('');
   let carry = 0, temp = 0, res = '';
   for(let i = Math.max(str1.length, str2.length) − 1; i >= 0; i−−){
      const el1 = +str1[i] || 0;
      const el2 = +str2[i] || 0;
      if(el1 + el2 + carry > 1){
         temp = 0;
         carry = 1;
      }else{
         temp = el1 + el2 + carry;
         carry = 0;
      };
      res = temp + res;
   };
   if(carry){
      res = carry + res;
   };
   return res.split('');
};
console.log(addBinary(arr1, arr2));

出力

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

になります
[ '1', '0', '1', '0' ]

  1. 配列とJavaScriptでの設定。

    Setデータ型はES2015で導入されました。配列とセットの違いは、配列には重複する値を含めることができますが、セットにはできないことです。要素は、キーを使用し、要素は入力された方法でのみトラバースできるため、Setでは不可能なインデックスを使用して配列でアクセスできます。 以下は、JavaScriptの配列と設定の違いを表示するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name=&

  2. JavaScriptで配列を減らす方法は?

    以下は、JavaScriptで配列を減らすためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &n