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 https://www.youtube.com/watch?v=lSn6E5pv7pc]
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