Computer >> Máy Tính >  >> Lập trình >> Javascript

Thêm chuỗi nhị phân với nhau JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript có hai chuỗi nhị phân. Hàm sẽ trả về tổng của chuỗi hai nhị phân đó dưới dạng một chuỗi nhị phân khác.

Ví dụ -

Nếu hai chuỗi là -

const str1 = "1010";
const str2 = "1011";

Sau đó, kết quả đầu ra phải là -

const output = '10101';

Ví dụ

const str1 = "1010";
const str2 = "1011";
const addBinary = (str1, str2) => {
   let carry = 0;
   const res = [];
   let l1 = str1.length, l2 = str2.length;
   for (let i = l1 - 1, j = l2 - 1; 0 <= i || 0 <= j; --i, --j) {
      let a = 0 <= i ? Number(str1[i]) : 0,
      b = 0 <= j ? Number(str2[j]) : 0;
      res.push((a + b + carry) % 2);
      carry = 1 < a + b + carry;
   };
   if (carry){
      res.push(1);
   }
   return res.reverse().join('');
};
console.log(addBinary(str1, str2));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

10101