Binary To Decimal in C

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

Binary To Decimal

 

Related Programs

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!

(c) www.c-program-example.com

One comment on “Binary To Decimal in C

Leave a Reply