Home »
C programs »
C number system conversion programs
C program to convert a Decimal number to Binary using Recursion
Here, we are going to learn how to convert a Decimal number to Binary using recursion in C programming language?
Submitted by Nidhi, on July 09, 2021
Problem statement
Here, we will read a decimal number from the user and then convert the decimal number to a binary number using recursion.
C program to convert a Decimal number to Binary using Recursion
The source code to convert a decimal number to binary using recursion is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.
// C program to convert decimal number to binary
// using recursion
#include <stdio.h>
unsigned long long int decimalToBinary(int num)
{
if (num != 0)
return (num % 2 + 10 * decimalToBinary(num / 2));
else
return 0;
}
int main()
{
int decNum = 0;
unsigned long long int binNum = 0;
printf("Enter Decimal Number: ");
scanf("%d", &decNum);
binNum = decimalToBinary(decNum);
printf("Binary Number: %llu", binNum);
return 0;
}
Output
RUN 1:
Enter Decimal Number: 123
Binary Number: 1111011
RUN 2:
Enter Decimal Number: 10
Binary Number: 1010
RUN 3:
Enter Decimal Number: 12345
Binary Number: 11000000111001
RUN 4:
Enter Decimal Number: 32767
Binary Number: 111111111111111
Explanation
In the above program, we created two functions decimalToBinary() and main() function. The decimalToBinary() function is used to convert the decimal number to a corresponding binary number using recursion.
In the main() function, we read a decimal number from the user and convert the input number from decimal to binary using the decimalToBinary() function and printed the result on the console screen.
C Number System Conversion Programs »