How does a C program to convert binary number to decimal work?
Courtesy: Programiz.com
In the program, we have included the header file math.h
to perform mathematical operations in the program.
We ask the user to enter a binary number and pass it to the convert()
function to convert it decimal.
Suppose n = 1101
. Let's see how the while
loop in the convert()
function works.
n != 0 | rem = n % 10 | n /= 10 | i | dec += rem * pow(2, i) |
---|---|---|---|---|
1101 != 0 | 1101 % 10 = 1 | 1101 / 10 = 110 | 0 | 0 + 1 * pow (2, 0) = 1 |
110 != 0 | 110 % 10 = 0 | 110 / 10 = 11 | 1 | 1 + 0 * pow (2, 1) = 1 |
10 != 0 | 11 % 10 = 1 | 11 /10 = 1 | 2 | 1 + 1 * pow (2, 2) = 5 |
1 != 0 | 1 % 10 = 1 | 1 / 10 = 0 | 3 | 5 + 1 * pow (2, 3) = 13 |
0 != 0 | - | - | - | Loop terminates |
So, 1101
in binary is 13
in decimal.
Comments
Post a Comment