Programación General => C/C++ => Mensaje iniciado por: insolenzia en Lunes 24 de Mayo de 2004, 14:44
Título: Conversion Hexadecinal A Decimal
Publicado por: insolenzia en Lunes 24 de Mayo de 2004, 14:44
hola. tengo q hacer un deitor de imagenes en color. y uno de ls funciones q tengo q realizar es superponer dos imagenes de manera q una actue como fondo y la otra como transparencia. bien el problema es q tengo q meter el color q kiero q el programa reconozca como trasnparente desde la consola y en formato hexadecinal. serian seis caracteres q codificarian tres numeros enteros en el rango [0,255] (o unsigned char). ¿alguien puede decirme como puedo convertir esas parejas de caracteres a formato decimal??? gracias
Título: Re: Conversion Hexadecinal A Decimal
Publicado por: Ruben3d en Lunes 24 de Mayo de 2004, 14:58
Hola.
Lo primero que tienes que hacer es separar cada uno de los tres números en hexadecimal en una cadena (cada uno va de 00 a FF). Después usa este código para obtener cada uno de ellos:
Código: Text
char cadena[16]; // Aqui hay un número en hex.
int numero;
sscanf(cadena, "%x", &numero);
Tras esto tendrás, en la variable numero, el número en formato entero.
NOTA: No sé si el número en hexadecimal a leer por scanf debe de empezar por '0x'. Si es así, añadeselo antes de hacer el sscanf.