
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Convert Array of Binary Numbers to Corresponding Integer in JavaScript
Let’s say, we have an array of Numbers that contains 0 and 1 −
const arr = [0, 1, 0, 1];
We are required to write an Array function, toBinary() that returns the corresponding binary for the array it is used with.
For example − If the array is −
const arr = [1, 0, 1, 1];
Then the output should be 11 because the decimal representation of binary 1011 is 11.
Therefore, let’s write the code for this function.
Method 1: Using library methods
In JavaScript, there exists a method parseInt(), that takes in two arguments first one is a string and second a number that represents a particular base, like 10 for decimal base, 2 for binary. This function parses the string argument and returns an integer of the specified radix ( base).
In our case, to convert the array of binary to decimal, we can use the parseInt() function like this −
const arr = [1, 0, 1, 1]; const parseArray = arr => { const binaryString = arr.join(""); return parseInt(binaryString, 2); }; console.log(parseArray(arr));
Method 2: Reducing the array
In this method we iterate over the binary array and construct a decimal based on the corresponding binary numbers. We will use the left shift operator (<<) to shift the accumulated value to left by one bit every time and return the bitwise OR (|) of the shifted accumulated value and current value.
The code for this using Bitwise Operator −
Example
const arr = [1, 0, 1, 1]; const parseArray = arr => { return arr.reduce((acc, val) => { return (acc << 1) | val; }); }; console.log(parseArray(arr));
Output
The output in the console will be −
11