#include <stdio.h> #include <stdint.h> uint16_t hex_to_uint(const char *str) { // Your logic here int result =0; while(*str !='\0'){ result<<=4; if(*str>='0'&&*str<='9'){ result+=*str-'0'; str++; } else if(*str>='A'&&*str<='F'){ result+= *str-'A'+10; str++; } else if(*str >='a'&& *str <='f'){ result += *str-'a'+10;str++; } else str++; } return result; } int main() { char hex[10]; scanf("%s", hex); printf("%u", hex_to_uint(hex)); return 0; }
Test Cases
Test Results
Input
1A3F
Expected Output
6719