C ++ convierte una cadena hexadecimal a un entero con signo

Quiero convertir una cadena hexadecimal a un entero con signo de 32 bits en C ++.

Así, por ejemplo, tengo la cadena hexagonal "fffefffe". La representación binaria de esto es 11111111111111101111111111111110. La representación entera firmada de esto es: -65538.

¿Cómo hago esta conversión en C ++? Esto también debe funcionar para números no negativos. Por ejemplo, la cadena hex "0000000A", que es 0000000000000000000000000000101010 en binario, y 10 en decimal.

Respuestas a la pregunta(8)

Su respuesta a la pregunta