C program to print binary equivalent of an integer using recursion
Output:
Enter a number to find its binary equivalent:
35
The binary equivalent of 35 is:100011
Implementation:
Output:
Enter a number to find its binary equivalent:
35
The binary equivalent of 35 is:100011
Implementation:
/* Decimal numbers are also called as base-10 numbers
because, decimal numbers are 0,1,2,3,4,5,6,7,8,9
which is 10 numbers in total.
Binary number is called as base-2
as, binary numbers are 0 & 1
To convert decimal number into a binary number:
1. find the remainder of the number
2. divide the number by 2 & store the result in the same number
3. repeat steps 1 & 2 until the number becomes zero
4. now reverse of the remainders would give us binary form of that decimal number
for example:
If the given number is 35
Taking LCM:
2|35
--- ^
2|17 - 1 |
--- |
2|8 - 1 |
--- |
2|4 - 0 |Gives you the binary form of 35
--- |which is 100011
2|2 - 0 |
--- |
2|1 - 0 |
--- |
2|0 - 1 |
*/
#include <stdio.h>
/* Recursion function to print the binary form of decimal number entered by user
*/
void findbinary(int n) // getting the number here
{
/* checking whether the number reached 0
If so, return the control to the function called
*/
if(n==0)
return;
/* until n reaches zero,
keep on dividing the number by 2 &
recursively call the same function using the resultant value from dividing the number by 2
*/
findbinary(n/2);
/* After the last recursive call breaks, find the remainder of the number
&
print the remainder of the number in that current recursive function call
*/
/* this gives you the binary of the decimal number */
printf("%d",n%2);
}
int main(void) {
int n;
printf("Enter a number to find its binary equivalent:\n");
scanf("%d",&n);
/* function call to find & print the binary of the number entered by the user
using recursive function
*/
printf("The binary equivalent of %d is:",n);
findbinary(n);
return 0;
}