diff options
Diffstat (limited to 'ch2/2-3.c')
-rw-r--r-- | ch2/2-3.c | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/ch2/2-3.c b/ch2/2-3.c deleted file mode 100644 index 54ce89f..0000000 --- a/ch2/2-3.c +++ /dev/null @@ -1,42 +0,0 @@ -#include <stdio.h> - - -unsigned int htoi(char hex[]) { - char c; - int i; - int length; - int power; - unsigned int result; - - for (length = 0; hex[length] != '\0'; ++length) - - power = 1; - result = 0; - - for (i = length - 1; i >= 0; --i) { - c = hex[i]; - printf("%c\n", c); - - if (c >= 'a' && c <= 'f') - c = c - 'a' + 10; - else if (c >= 'A' && c <= 'F') - c = c - 'A' + 10; - else if (c >= '0' && c <= '9') - c = c - '0'; - else if (c == 'x' || c == 'X') - break; - else - return 0; - - result += c * power; - power *= 16; - } - - return result; -} - - -int main() { - char hex[] = "0x589"; - printf("%d\n", htoi(hex)); -} |