• Domingo 7 de Julio de 2024, 12:17

Autor Tema:  Conversion Hexadecinal A Decimal  (Leído 1127 veces)

insolenzia

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Conversion Hexadecinal A Decimal
« en: Lunes 24 de Mayo de 2004, 14:44 »
0
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

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Conversion Hexadecinal A Decimal
« Respuesta #1 en: Lunes 24 de Mayo de 2004, 14:58 »
0
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
  1. char cadena[16];    // Aqui hay un número en hex.
  2. int numero;
  3. sscanf(cadena, "%x", &numero);
  4.  
  5.  

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.

Un saludo.

Ruben3d