Per numeri esadecimali più piccoli (entro i range dei tipi long int e long long int) puoi usare le funzioni strtol o strtoll.