Decimal to binary conversion using recursion in JavaScript


We are required to write a JavaScript function that takes in a number as the first and the only argument. The function should use recursion to construct a string representing the binary notation of that number.

For example −

f(4) = '100'
f(1000) = '1111101000'
f(8) = '1000'

Example

Following is the code −

const decimalToBinary = (num) => {
   if(num >= 1) {
      // If num is not divisible by 2 then recursively return proceeding
      // binary of the num minus 1, 1 is added for the leftover 1 num
      if (num % 2) {
         return decimalToBinary((num - 1) / 2) + 1;
      } else {
         // Recursively return proceeding binary digits
         return decimalToBinary(num / 2) + 0;
      }
   } else {
      // Exit condition
      return '';
   };
};
console.log(decimalToBinary(4));
console.log(decimalToBinary(1000));
console.log(decimalToBinary(8));

Output

Following is the output on console −

100
1111101000
1000

Updated on: 10-Dec-2020

357 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements