# C program to convert the given binary number into decimal

### C program to convert the given binary number into decimal

#### Problem Description

This C language program converts a given binary number to decimal number. Binary numbers are the one which contains only 0 and 1. The program flow is as follows: 1. Take a binary number as input. 2. Starting from the last digit, multiply each digits of the binary number with the powers of 2 respectively(starting with 0). 3. Add all the multiplied digits. 4. The total sum gives the decimal number.

##### C program to convert the given binary number into decimal - Source code

/* C program to convert the given binary number into decimal */ #include <stdio.h> #include <math.h> int binaryToDecimal(long binary_num) { int decimal_num = 0, i = 0, remainder; while (binary_num!=0) { remainder = binary_num % 10; binary_num = binary_num / 10; decimal_num = decimal_num + remainder*pow(2,i); i++; } return decimal_num; } int main() { long binary_num; printf("Enter a binary number: "); scanf("%ld", &binary_num); printf("Equivalent decimal number is: %d", binaryToDecimal(binary_num)); return 0; }

#### Program Output

Case 1: Enter a binary number: 10001001 Equivalent decimal number is: 137 Case 2: Enter a binary number: 10001010 Equivalent decimal number is: 138

#### Program Explanation

1. A separate function binaryToDecimal is created to convert the given binary number to decimal. 2. Accept a binary number and store it in the variable binary_num. 3. Call the function binaryToDecimal function with one parameter binary_num from inside the printf statement. 4. Inside the user defined function, initialize the variable decimal_num and variable i to 0. 5. Obtain the remainder of the binary number using the modulus operator (%). Store the remainder in the variable remainder. Divide the decimal number by 10 to cut off the last digit. 6. Multiply remainder with the 2^i and add it to the decimal_num variable. 7. Increment the variable i by 1. 8. Repeat the steps 5, 6 and 7 until the binary_num value becomes 0. 9. Print the variable decimal_num as output. 10. Here note that it is necessary to include math.h header file as we are using the library function pow.