Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define ARRAYSIZE 1000
- using namespace std;
- int htol(char s[]);
- int main()
- {
- char userNumber[ARRAYSIZE];
- printf("Enter hexadecimal number: ");
- gets_s(userNumber);
- printf("Decimal number: %d", htol(userNumber));
- getchar();
- return 0;
- }
- int htol(char s[])
- {
- int i, length, sum = 0;
- for(length = 0; s[length] != '\0'; ++length);
- for(i = 0; s[i] != '\0'; ++i, --length)
- {
- if(s[i] >= '0' && s[i] <= '9')
- sum += (s[i] - '0') * powf(16,length-1);
- if(s[i] >= 'A' && s[i] <= 'F')
- sum += (s[i] - 55) * powf(16, length-1);
- if(s[i] >= 'a' && s[i] <= 'f')
- sum +=(s[i] - 87) * powf(16, length-1);
- }
- return sum;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement