Here's a C program to convert a binary number to a decimal number with output and proper explanation. This program makes use of C concepts like While loop, IF-Else and Modulus. The program also uses C's math.h header file and power function

**pow(i, j).**# include <stdio.h> # include <conio.h> # include <math.h> void main() { int i = 0, j = 0, sum = 0 ; long int n ; clrscr() ; printf("Enter the binary number : ") ; scanf("%ld", &n) ; if(n > 0) { i = n % 10 ; if(i == 0 || i == 1) { while(n != 0) { i = n % 10 ; sum = sum + i * pow(2, j) ; n = n / 10 ; j ++ ; } } } if(sum == 0 && n < 0) printf("\nThe number is not a binary number") ; else printf("\nThe equivalent decimal number is : %d", sum) ; getch() ; }

**Output of above program is**

Enter the binary number : 1100

The equivalent decimal number is : 12

Enter the binary number : 12

The number is not a binary number

How to convert binary number to decimal?Here's a basic method to convert a binary number to decimal form. Suppose there are n digits in your binary number. So the formula to get decimal equivalent of this binary number is - (Here nth digit is the leftmost digit and 1st digit is the rightmost digit.)Decimal number = (value of nth digit) * 2^{(n-1)}+ (value of n-1 th digit) * 2^{(n-2)}+ (value of n-2 th digit) * 2^{(n-3)}+........ + (value of 1st digit) * 2^{(0) }e.g. b = 10010. The decimal value is -Decimal number = 1 * 2^{4}+ 0 * 2^{3}+ 0 * 2^{2}+ 1 * 2^{1}+ 0 * 2^{ 0}= 16 + 2 = 18.

**Explanation of above program**

Our program also uses the same process described above. We are using

**Math.H**header file for the mathematics function**pow(i, j)**to calculate power.
can u find the decimal form of 00 using this program?...it will display that 00 is not a binary number right??..as cntrl didnt go in2 the loops..n sum is still 0...

Yes @fboys123, you're right and thank you for pointing it out. It will print "The number is not a binary number" in case of n = 0.

See the changes that I made and let me know if there's still any problem with it.

jigaaaaar chaaaaa gaya hai :D

bhai ki assignment banwa di tu nay tou :D

Binary number system is a base 2 number system using digits 0 and 1 whereas Decimal number system is base 10 and using digits from 0 to 9. Here is the a program to convert Binary to Decimal number