C Program to Convert Decimal to Binary

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;
}
C Program to Convert Decimal to Binary 1

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

About Suresh

Suresh is the founder of TutorialGateway and a freelance software developer. He specialized in Designing and Developing Windows and Web applications. The experience he gained in Programming and BI integration, and reporting tools translates into this blog. You can find him on Facebook or Twitter.