diff options
| author | Hyder <hyder@hyderhadi.xyz> | 2025-08-01 15:11:01 +0300 |
|---|---|---|
| committer | Hyder <hyder@hyderhadi.xyz> | 2025-08-01 15:11:01 +0300 |
| commit | 9d32762e395de7a867130ef4239dae830309d84d (patch) | |
| tree | 22e320a65bbb335ff78ba4928e07ac1666d257e2 /HTOI/HTOI.c | |
| parent | 9aa625fdd46be2a5d03a507e85a29055ad483941 (diff) | |
Finally i knew the problem why the about page was not showing anything it turns out that i have to build cgit with markdown rendering but mine is just basic text file
Diffstat (limited to 'HTOI/HTOI.c')
| -rw-r--r-- | HTOI/HTOI.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/HTOI/HTOI.c b/HTOI/HTOI.c new file mode 100644 index 0000000..a565224 --- /dev/null +++ b/HTOI/HTOI.c @@ -0,0 +1,38 @@ +# include <stdio.h> + +# define HexBase 16 + +int HexadecimalToInteger(char string[]) { + + // The standalone Number *10* here in the FOR LOOP is a complementary value to make the hexadecimal function output correct values. + + int DecimalNumberTotal = 0; + + for (int i = 0;string[i] != '\0'; ++i) { + if (string[i] >= '0' && string[i] <= '9') { + DecimalNumberTotal = HexBase * DecimalNumberTotal + string[i] - '0'; + } + else if (string[i] >= 'a' && string[i] <= 'f') { + DecimalNumberTotal = HexBase * DecimalNumberTotal + (string[i] - 'a' + 10); + } + else if (string[i] >= 'A' && string[i] <= 'F') { + DecimalNumberTotal = HexBase * DecimalNumberTotal + (string[i] - 'A' + 10); + } + } + return(DecimalNumberTotal); +} + +// THE MAIN BLOCK + +int main () { + char TheHexString[1000]; + printf("Give me a Hexadecimal to convert (Without the prefix 0x)\n\n"); + + while (scanf("%s", &TheHexString) != EOF) { + + int res = HexadecimalToInteger(TheHexString); + printf("The result is : %d\n\n", res); + + } + return 0; +}
\ No newline at end of file |
