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!