How to write a C Program to Convert Decimal to Binary Number with a practical example? To convert the Decimal Number to Binary Number in C – First, Divide the Original value by 2. Next, Divide the Quotient by 2. Repeat the same steps until the given number is zero.
C Program to Convert Decimal to Binary Example
This program to convert decimal to binary uses For Loop to convert the user given Decimal value to Binary value
#include <stdio.h> int main() { int a[10], number, i, j; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); for(i = 0; number > 0; i++) { a[i] = number % 2; number = number / 2; } printf("\n Binary Number of a Given Number = "); for(j = i - 1; j >= 0; j--) { printf(" %d ", a[j]); } printf("\n"); return 0; }
Within this program to convert decimal to binary, first, we used For Loop. Here, number = 5
Loop First Iteration: for(i = 0; Number > 0; i++)
for(i = 0; 5 > 0; 0++) – condition true
a[0] = number % 2 => 5 % 2 = 1
number = number / 2 = 2.5
Second Iteration: for(i = 1; 2 > 0; 1++)
a[1] = 2.5 % 2 = 0
number = 2.5 / 2 = 1.25
Third Iteration: for(i = 2; 1 > 0; 2++)
a[2] = 1.25 % 2 = 1
number = 0
Next, we used the C Programming For Loop to Print Array elements.
Convert Decimal to Binary using While loop
This is another C example of converting the decimal values to binary numbers, and for this, we are using a while loop.
#include <stdio.h> int main() { int a[10], number, i = 1, j; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); while(number != 0) { a[i++] = number % 2; number = number / 2; } printf("\n Binary Number of a Given Number = "); for(j = i - 1; j > 0; j--) { printf(" %d ", a[j]); } return 0; }
C Decimal to Binary output
Please Enter the Number You want to Convert : 25
Binary Number of a Given Number = 1 1 0 0 1
C Program to Convert Decimal to Binary using Functions
In this program, we used Functions and Bitwise AND Operator to convert decimal values to binary.
#include <stdio.h> void Decimal_to_Binary(int number) { int j; for(int i = 31; i >= 0; i--) { j = number >> i; if(j & 1) printf("1"); else printf("0"); } } int main() { int number; printf("\n Please Enter the Number You want to Convert : "); scanf("%d", &number); Decimal_to_Binary(number); return 0; }
Decimal to Binary output
Please Enter the Number You want to Convert : 32
00000000000000000000000000100000