JavaScript Program to Add Two Binary Strings
Last Updated :
03 Jan, 2025
Here are the various ways to add two binary strings
Using parseInt() and toString()
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(s1,2) + parseInt(s2,2).toString(2);
JavaScript
let s1 = "101010";
let s2 = "1011";
let sum = (
parseInt(s1, 2) +
parseInt(s2, 2)
).toString(2);
console.log(sum);
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);
JavaScript
let s1 = "101010";
let s2 = "1011";
let sum = (a, b) => {
let decSum =
BigInt(`0b${a}`) +
BigInt(`0b${b}`);
return decSum.toString(2);
};
console.log(sum(s1, s2));
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.
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));
Using Recursive Approach
The recursive approach adds two binary strings by breaking down the problem into smaller subproblems. It handles the binary addition bit-by-bit from the end, carrying over the extra bit when necessary, until the base case where one of the strings is empty.
JavaScript
function addBinary(a, b) {
if (a.length < b.length) [a, b] = [b, a];
if (b.length === 0) return a;
if (a[a.length - 1] === '1' && b[b.length - 1] === '1') {
return addBinary(addBinary(a.slice(0, -1), b.slice(0, -1)), '1') + '0';
}
if (a[a.length - 1] === '0' && b[b.length - 1] === '0') {
return addBinary(a.slice(0, -1), b.slice(0, -1)) + '0';
}
return addBinary(a.slice(0, -1), b.slice(0, -1)) + '1';
}
console.log(addBinary("1010", "1011"));
Using XOR and AND Bitwise Operators
This approach involves using bitwise operators XOR (^) and AND (&) to add two binary strings. The XOR operation helps in summing the bits without carrying over, while the AND operation helps in finding the carry bits. We then shift the carry bits to the left and repeat the process until there are no more carry bits left.
JavaScript
let str1 = "101010";
let str2 = "1011";
let addBinary = (a, b) => {
let x = BigInt(`0b${a}`);
let y = BigInt(`0b${b}`);
while (y !== 0n) {
let carry = x & y;
x = x ^ y;
y = carry << 1n;
}
return x.toString(2);
};
console.log(addBinary(str1, str2));
Using Array Methods for Binary Addition
In this approach, we use array methods to perform binary addition. This involves converting the binary strings into arrays, iterating through them to perform the addition, and handling the carry. This method leverages the power of JavaScript array functions to simplify the process.
JavaScript
function binaryAddition(str1, str2) {
// Ensure str1 is the longer string
if (str2.length > str1.length) [str1, str2] = [str2, str1];
// Convert strings to arrays
let arr1 = str1.split('').reverse();
let arr2 = str2.split('').reverse();
let result = [];
let carry = 0;
// Iterate through the arrays and perform binary addition
for (let i = 0; i < arr1.length; i++) {
let bit1 = parseInt(arr1[i], 10);
let bit2 = i < arr2.length ? parseInt(arr2[i], 10) : 0;
let sum = bit1 + bit2 + carry;
result.push(sum % 2); // Remainder of sum divided by 2
carry = Math.floor(sum / 2); // Integer division of sum by 2
}
// If there's a carry left, add it to the result
if (carry) result.push(carry);
// Convert result array back to string and reverse it
return result.reverse().join('');
}
// Example usage:
let binaryStr1 = "1101";
let binaryStr2 = "1011";
let sum = binaryAddition(binaryStr1, binaryStr2);
console.log(sum); // Output: "11000"
Similar Reads
JavaScript Program to Add n Binary Strings In this article, we are going to learn about Adding n binary strings by using JavaScript. Adding n binary strings in JavaScript refers to the process of performing binary addition on a collection of n binary strings, treating them as binary numbers, and producing the sum in binary representation as
3 min read
JavaScript Program to Convert a Number to Binary We are going to learn the conversion of a number to binary by using JavaScript, Convert a number to binary in JavaScript refers to the process of converting a decimal number into its binary representation, which uses only the digits 0 and 1 to represent the value Converting a number to binary in Jav
3 min read
JavaScript Program to Convert Decimal to Binary In this article, we are going to learn the conversion of numeric values from decimal to binary. Binary is a number system with 2 digits (0 and 1) representing all numeric values. Given a number N which is in decimal representation. our task is to convert the decimal representation of the number to i
5 min read
JavaScript Program to Generate all Binary Strings From Given Pattern In this article, we are going to learn about Generating all binary strings from a given pattern in JavaScript. Generating all binary strings from a given pattern involves creating a set of binary sequences that follow the pattern's structure, where specific positions in the sequences can be filled w
3 min read
JavaScript Program to Check if all Bits can be made Same by Single Flip In this article, we will explore how to determine if it's possible to make all bits the same in a binary string by performing a single flip operation. We will cover various approaches to implement this in JavaScript and provide code examples for each approach.Examples:Input: 1101Output: YesExplanati
5 min read
C Program to Add 2 Binary Strings Given two Binary Strings, we have to return their sum in binary form.Approach: We will start from the last of both strings and add it according to binary addition, if we get any carry we will add it to the next digit.Input: 11 + 11Output: 110C// C Program to Add 2 Binary Strings // and Print their B
8 min read
Java Program to Add Characters to a String We will be discussing out how to add character to a string at particular position in a string in java. It can be interpreted as follows as depicted in the illustration what we are trying to do which is as follows: Illustration: Input: Input custom string = HelloOutput: --> String to be added 'Gee
4 min read
JavaScript Program to Add Two Numbers We will explore how to add two numbers in JavaScript. Adding two numbers in JavaScript means combining numeric values together using arithmetic addition, which gives us their total sum. There are several methods that can be used to Add Two Numbers in JavaScript, which are listed below: Table of Cont
2 min read
PHP Program for XOR of Two Binary Strings Given two binary strings, the task is to calculate the XOR of two binary strings in PHP. The XOR operation is a bitwise operation used in computer science and digital electronics. It takes two binary strings as input and produces a binary string as output, where each bit in the output is the result
3 min read
PHP Program to Add Two Binary Numbers Given Two binary numbers, the task is to add two binary numbers in PHP. Examples: Input: num1 = '1001', num2 = '1010'Output: 10011Input: num1 = '1011', num2 = '1101'Output: 11000There are two methods to add to binary numbers, these are: Table of Content Using bindec() and decbin() FunctionsUsing bas
1 min read