aboutsummaryrefslogtreecommitdiff
path: root/HTOI/HTOI.c
diff options
context:
space:
mode:
authorHyder <hyder@hyderhadi.xyz>2025-08-01 15:11:01 +0300
committerHyder <hyder@hyderhadi.xyz>2025-08-01 15:11:01 +0300
commit9d32762e395de7a867130ef4239dae830309d84d (patch)
tree22e320a65bbb335ff78ba4928e07ac1666d257e2 /HTOI/HTOI.c
parent9aa625fdd46be2a5d03a507e85a29055ad483941 (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.c38
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