C Program to convert a binary number into its equivalent Decimal. In binary number system or base-2 system numeric valuer are represented by using two different symbols 0 and 1. The binary number system is a positional notation with a radix of 2.
Read more here: What are binary, octal, and hexadecimal notation?
This program converts a given base-2 number to it’s decimal equivalent (or base-10 representation).
The Program
| #include<stdio.h> | |
| /* | |
| * Function to convert a given binary number to | |
| * its decimal equivalent. | |
| */ | |
| int binary_to_decimal(int num) { | |
| int rem, base = 1, decimal_number = 0; | |
| while( num > 0) { | |
| rem = num % 10; | |
| if((rem == 0) || (rem == 1)) { | |
| decimal_number = decimal_number + rem * base; | |
| num = num / 10 ; | |
| base = base * 2; | |
| } else { | |
| return -1; // Invalid binary number | |
| } | |
| } | |
| return decimal_number; | |
| } | |
| int main() { | |
| long int binary_number, decimal_number; | |
| printf("Enter any binary number : "); | |
| scanf("%ld", &binary_number); | |
| decimal_number = binary_to_decimal(binary_number); | |
| if(decimal_number != -1) { | |
| printf("The decimal equivalent value of binary %ld is: %ld", | |
| binary_number, decimal_number); | |
| } else { | |
| printf("\nPlease enter a valid binary number!"); | |
| } | |
| return 0; | |
| } |
Sample Output

Related Programs
- C program to convert a Binary number into its equivalent Decimal, Octal and Hexadecimal numbers
- C program to find the 2’s complement of a binary number
- C Program to convert a given decimal number into its binary equivalent
Edit1: 21st August 2017
- Added links to related programs
- Added a screenshot of sample output
- Moved program to it’s own gist.
To get regular updates on new C programs, you can Follow @c_program.
You can discuss these programs on our Facebook Page.
Like to get updates right inside your feed reader? Grab our feed!