在JavaScript中添加二进制数组的算法

二进制加法的基础-

二进制加法的四个规则是-

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 10

请牢记这些要点,二进制加法与十进制加法非常相似(遵循进位原理)。

我们需要编写一个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' ]

以上是 在JavaScript中添加二进制数组的算法 的全部内容, 来源链接: utcz.com/z/326482.html

回到顶部