w3resource

JavaScript: Convert Binary to Decimal using recursion

JavaScript Function: Exercise-11 with Solution

Write a JavaScript program to convert binary number (positive) to decimal number using recursion.

Sample Solution-1:

JavaScript Code:

// Recursive function to convert a binary number to decimal
const binaryToDecimal = (binaryString, index = 0) => {
  // Base case: if the string is empty, return 0
  if (index === binaryString.length) {
    return 0;
  }

  // Get the current binary digit (0 or 1)
  const currentDigit = parseInt(binaryString[index]);

  // Recursive step: convert the rest of the string and update the result
  const restDecimal = binaryToDecimal(binaryString, index + 1);
  const currentDecimal = currentDigit * Math.pow(2, binaryString.length - index - 1);

  return currentDecimal + restDecimal;
};

// Test the function with different binary numbers
console.log(binaryToDecimal("1")); 
console.log(binaryToDecimal("0")); 
console.log(binaryToDecimal("10"));  
console.log(binaryToDecimal("101")); 

Output:

1
0
2
5

Flowchart:

Flowchart: JavaScript recursion function- Convert Binary to Decimal using recursion.

Live Demo:

See the Pen javascript-recursion-function-exercise-11 by w3resource (@w3resource) on CodePen.


Sample Solution-2:

JavaScript Code:

// Recursive function to convert a binary number to decimal
const binaryToDecimal = (binaryString, index = 0) => {
  // Base case: if the string is empty, return 0
  if (index === binaryString.length) {
    return 0;
  }

  // Get the current binary digit (0 or 1)
  const currentDigit = parseInt(binaryString[index]);

  // Recursive step: convert the rest of the string and update the result
  const restDecimal = binaryToDecimal(binaryString, index + 1);
  const currentDecimal = currentDigit * Math.pow(2, binaryString.length - index - 1);

  return currentDecimal + restDecimal;
};

// Test the function with different binary numbers
console.log(binaryToDecimal("1")); 
console.log(binaryToDecimal("0")); 
console.log(binaryToDecimal("10"));  
console.log(binaryToDecimal("101")); 

Output:

1
0
2
5

Flowchart:

Flowchart: JavaScript recursion function- Convert Binary to Decimal using recursion.

Live Demo:

See the Pen javascript-recursion-function-exercise-11 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus.

Previous: Check a string for palindromes using recursion.
Next:Binary Search Algorithm using recursion.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/javascript-exercises/javascript-recursion-function-exercise-11.php