C Program To Convert Decimal Number To Binary Number, using While Loop

Lets write a C program to convert a number from Decimal number system(base 10) to Binary number system(base 2), using while loop.

Related Read:
while loop in C programming
Calculate Sum of Digits: C Program
C Program To Reverse a Number

Note: Binary number system can be derived by base 2 to the power of whole numbers.

Example:
etc .. 24, 23, 22, 21, 20

etc .. 24 = 16, 23 = 8, 22 = 4, 21 = 2, 20 = 1.

Expected Output for the Input

User Input:
Enter a decimal number
14

Output:
Binary equivalent of 14 is 1110

Explanation:
If user enters num = 14

We keep on dividing the number 14 by 2.

14 / 2 = 7, reminder 0.
07 / 2 = 3, reminder 1.
03 / 2 = 1, reminder 1.

So Binary equivalent of 14 is 1110.

OR

(23 x 1) + (22 x 1) + (21 x 1) + (20 x 0 )
= 8 + 4 + 2
= 14.

Video Tutorial: C Program To Convert Decimal Number To Binary Number, using While Loop



YouTube Link: https://www.youtube.com/watch?v=lSn6E5pv7pc [Watch the Video In Full Screen.]

Logic To Convert Decimal Number To Binary Number, using While Loop

In this C program we ask the user to enter / input a decimal number. Using while loop we calculate the reminder and add it to variable bin. We make use of variable place to position the reminder based on number system – unit, ten, hundred, thousand, ten thousand etc.

Source Code: C Program To Convert Decimal Number To Binary Number, using While Loop

#include < stdio.h >

int main()
{
    int num, bin = 0, rem = 0, place = 1;

    printf("Enter a decimal number\n");
    scanf("%d", &num);

    printf("\nBinary equivalent of %d is ", num);
    while(num)
    {
        rem   = num % 2;
        num   = num / 2;
        bin   = bin + (rem * place);
        place = place * 10;
    }
    printf("%d\n", bin);

    return 0;
}

Output 1:
Enter a decimal number
14

Binary equivalent of 14 is 1110

Output 2:
Enter a decimal number
15

Binary equivalent of 15 is 1111

Output 3:
Enter a decimal number
19

Binary equivalent of 19 is 10011

Output 4:
Enter a decimal number
8

Binary equivalent of 8 is 1000

Output 5:
Enter a decimal number
41

Binary equivalent of 41 is 101001

Number Systems

1. Binary Number System uses base 2 and digits 01.
2. Octal Number System uses base 8 and digits 01234567.
3. Decimal Number System uses base 10 and digits 0123456789.
4. Hexadecimal Number System uses base 16 and digits 0123456789ABCDEF.

For list of all c programming interviews / viva question and answers visit: C Programming Interview / Viva Q&A List

For full C programming language free video tutorial list visit:C Programming: Beginner To Advance To Expert