**NOTE: The following code for “Program To Convert Binary to Decimal Using C Language” has been written and performed on Ubuntu OS, To run the following code in Windows on Turbo C, You need to add #include as one of the header files and getch() at the end of the code before main() closing brace “}”.
#include<stdio.h>
#include<math.h>
#include<string.h>
void main(){
int i,k=0,a=0,b=0;
char binnum[30];
printf("Enter a binary number: ");
gets(binnum);
a=strlen(binnum);
k=a;
for(i=0;i<a;i++){
if(binnum[i]=='1'){
b=b+1*pow(2,k-1);
}else{ b=b+0*pow(2,k); }
k--;
}
printf("\nDecimal Equivalent for %s is %d\n",binnum,b);
}
Explanation For The Above Program:
- Input a binary as a string
- Store the length of the string in two different variables i.e ‘a’ for looping and ‘k’ for power of the base .
- Run the loop from 0 to length – 1 or (i<a)
- Read the string characters one by one and check if it is equal to ‘0’ or ‘1’
- If the Character is equal to 1 then multiply the 1 by 2 to the power ‘k-1’ and store the sum in integer variable ‘b’
- Print the resultant integer variable.
OUTPUT:
