Hexadacimal To Decimal Program In C
Finding that a given number is even or odd, is a classic C program. We shall learn the use of conditional statement if-else in C.
Algorithm
Algorithm of this program is very easy −
START
Step 1 → Take integer variable A
Step 2 → Assign value to the variable
Step 3 → Perform A modulo 2 and check result if output is 0
Step 4 → If true print A is even
Step 5 → If false print A is odd
STOP
Flow Diagram
We can draw a flow diagram for this program as given below −
Pseudocode
procedure even_odd()
IF (number modulo 2) equals to 0
PRINT number is even
ELSE
PRINT number is odd
END IF
end procedure
Implementation
Implementation of this algorithm is given below −
#include <stdio.h>
int string_length(char s[])
{
int i=0;
while(s[i]!='\0')
i++;
return i;
}
int hexa2decimal(char n[])
{
int i,decimal,mul=0;
for(decimal=0,i=string_length(n)-1;i>=0;--i,mul+=4)
if(n[i]>='0' && n[i]<='9')
decimal+=(n[i]-48)*(1<<mul);
else if(n[i]=='A')
decimal+=10*(1<<mul);
else if(n[i]=='B')
decimal+=11*(1<<mul);
else if(n[i]=='C')
decimal+=12*(1<<mul);
else if(n[i]=='D')
decimal+=13*(1<<mul);
else if(n[i]=='E')
decimal+=14*(1<<mul);
else if(n[i]=='F')
decimal+=15*(1<mul);
return decimal;
}
int main()
{
char n[50];
int i,decimal,mul=0;
printf("Enter a hexa number :");
scanf("%s",n);
printf("Decimal equivalent is : %d",hexa2decimal(n));
return 0;
}
Output
Output of the program should be −
24 is even 31 is odd
Advertisements