Если вы считаете, что ваш номер шестнадцатеричный, и C99 в порядке, вы можете попробовать strtoull()
вместо:
const unsigned long long value = strtoull(string, NULL, 16);
или с автоматическим определением:
const unsigned long long value = strtoull(string, NULL, 0);