
- Learn C By Examples Time
- Learn C by Examples - Home
- C Examples - Simple Programs
- C Examples - Loops/Iterations
- C Examples - Patterns
- C Examples - Arrays
- C Examples - Strings
- C Examples - Mathematics
- C Examples - Linked List
- C Programming Useful Resources
- Learn C By Examples - Quick Guide
- Learn C By Examples - Resources
- Learn C By Examples - Discussion
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