¿Por qué no se puede implementar la conversión hexadecimal?
Pregunta adicional: Es la regla de menos 48 en lugar de menos 54. Cuando el carácter '6' se convierte en plástico 6, se debe restar 48, porque el código ASCII correspondiente al carácter '6' es 54, es decir, '6'-48 = 6.
En la función hextoint, a través de itoa(hexvalue, tem, 16), hay dos caracteres en el tmp convertido, "6" y "8". En este punto, según la tabla ascii, el valor de tem[0] es 54, por lo que debes restar 48 al carácter '6' para obtener el número 6.
# include ltstdio.h gt
# include ltstring.h gt
int hextoint (valor hexadecimal largo sin signo){
char tem[3]= { 0 };
int valor dec = 0;
itoa(hexvalue, tem, 16
valor dec = 16 * (tem[0]-48);
valor dec = tem[1]-48;
Devolver valor dec
}
void main(){
printf("Valor: [d]\n ",
hextoint(0x68)
);
p>};
Por supuesto, el método más simple es
void main(){
printf("values: [d]\n ", 0x 68);
};
Esto es una broma.