In this article, we will see the addition operation on two binary Strings in JavaScript. The addition of two binary strings in JavScript is the concept of performing binary addition on a collection of two binary strings, treating them as binary numbers (1 or 0), and then printing the sum of the binary representation as the final result.
Apporach 1: Using parseInt() and toString() Methods
The parseInt() method used here first converts the strings into the decimal. Ten of these converted decimal values are added together and by using the toString() method, we convert the sum back to the desired binary representation.
Syntax:
parseInt(str1,2) + parseInt(str1,2).toString(2);
Example: In this example, we will see the the addtion of two binary strings using parseInt() and toString() methods.
Javascript
let str1 = "101010" ; let str2 = "1011" ; let sum = ( parseInt(str1, 2) + parseInt(str2, 2) ).toString(2); console.log(sum); |
110101
Approach 2: Using BigInt Method
The approach uses the BigInt method where the binary strings are convereted into BigInt integers, then addition is performed and once again the conversion of the sum is to binary string. This is used to handle large binary numbers.
Syntax:
let bigIntValue = BigInt(value);
Example: In this example, we will see the addtion of two binary strings using BigInt method.
Javascript
let str1 = "101010" ; let str2 = "1011" ; let sum = (a, b) => { let decSum = BigInt(`0b${a}`) + BigInt(`0b${b}`); return decSum.toString(2); }; console.log(sum(str1, str2)); |
110101
Approach 3: Using Manual Operation
The manual operations add the binary digits. We initially ensuring that both of the strings are of same length by adding them with leading 0s, and then iterating through the strings from left to right order and adding binary digits while considering the carry.
Syntax:
let sum= (a, b) => {
//initialization
for (let i = maxLength - 1; i >= 0; i--) {
// addtion statements
}
return carry ? '1' + result : result;
};
Example: In this example, we will be performing addtion of two binary strings without using any inbuilt method.
Javascript
let str1 = "101010" ; let str2 = "1011" ; let sum = (m, n) => { let len = Math.max( m.length, n.length ); m = m.padStart(len, "0" ); n = n.padStart(len, "0" ); let carry = 0; let res = "" ; for (let i = len - 1; i >= 0; i--) { let mBit = +m[i]; let nBit = +n[i]; let sum = mBit + nBit + carry; carry = Math.floor(sum / 2); res = (sum % 2) + res; } return carry ? "1" + res : res; }; console.log(sum(str1, str2)); |
110101