Open In App

Binary to Decimal Conversion using JavaScript

Last Updated : 08 Apr, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

A binary number is a number expressed in the binary numeral system, which uses only two symbols 0 and 1. Decimal numbers are base 10 in a JavaScript number system that uses 10 digits from 0 to 9. We are given a number as Binary input we have to convert it into decimal in JavaScript and print the result.

Example:

Input: 10000
Output: 16

Below are the approaches to converting binary numbers to decimal numbers using JavaScript:

Iterative Approach

Create a function and initialize a variable decimal with value 0 to determine the length of binary string. Iterate through the binary digits from right to left using a for loop, with the loop variable i starting from 0 and ending at n – 1. Convert the character at index n – i – 1 of the binary string to a number using parseInt(). This will give us current binary digit (0 or 1). Add the contribution of this digit to the decimal value.

Example: Demonstration of converting of binary to decimal using iterative approach

JavaScript
function binaryToDecimalIterative(binary) {
    let decimal = 0;
    const n = binary.length;

    // Iterate through the binary digits 
    for (let i = 0; i < n; i++) {

        const digit = parseInt(binary[n - i - 1]);


        decimal += digit * Math.pow(2, i);
    }

    return decimal;
}

const binaryNumber = "10000";
console.log("result is : ",
binaryToDecimalIterative(binaryNumber));

Output
result is :  16

Time Complexity: O(n).

Space Complexity: O(1).

Using parseInt() Function

In this approach, there is an inbuilt function parseInt which will convert the binary number into its decimal equivalent. Use the ‘parseInt’ function with base 2 to convert Binary to decimal to convert the binary string to its decimal equivalent.

Example: Demonstration of converting of binary to decimal using the inbuilt parseInt()

JavaScript
function binaryToDecimalParseInt(binary) {
    return parseInt(binary, 2);
}

const binaryNumber = "10000";
console.log("result is : ",
    binaryToDecimalParseInt(binaryNumber));

Output
result is :  16

Time Complexity: O(n).

Space Complexity: O(1).

Using Bitwise operation

Create a function and initialize a variable decimal with value 0. Now determine the length of binary string binary. Now we Iterate through the binary digits of the input string from left to right. If the current digit is ‘1’, perform a left shift operation by (n – i – 1) positions, where n is the length of the binary string, and bitwise OR with the current value of decimal. It return decimal.

Example: Demonstration of converting of binary to decimal using Bitwise operation

JavaScript
function binaryToDecimalBitwise(binary) {
    let decimal = 0;
    const n = binary.length;

    for (let i = 0; i < n; i++) {
        if (binary[i] === "1") {
            decimal |= 1 << (n - i - 1);
        }
    }

    return decimal;
}


const binaryNumber = "10000";
console.log("Result is : ",
    binaryToDecimalBitwise(binaryNumber));

Output
Result is :  16

Time Complexity: O(n)

Space Complexity: O(1)



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads