SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: lostshell en Lunes 5 de Abril de 2010, 19:00

Título: Convertir HexString a Double
Publicado por: lostshell en Lunes 5 de Abril de 2010, 19:00
Buenas

Alguien sabe como puedo convertir una cadena hexadecimal a double??

por ejemplo, tengo:
40668472B020C49C
en hexadecimal

y se supone que es
180.139
en double

pagina de referencia:
http://babbage.cs.qc.edu/IEEE-754/64bit.html (http://babbage.cs.qc.edu/IEEE-754/64bit.html" onclick="window.open(this.href);return false;)

Gracias de antemano por sus respuestas.
Título: Re: Convertir HexString a Double
Publicado por: eljhonb en Martes 6 de Abril de 2010, 13:23
prueba con esto:
Código: C++
  1.  
  2. double hex2Double(char *buf)
  3. {
  4.   char *buf2 = new char[3];
  5.   double a;
  6.   char* c2d;
  7.   c2d = (char *) &a;
  8.   int i;
  9.  
  10.   buf2[2] = ''
  11.  
  12.   for(i = 0; i < 16; i++)
  13.   {
  14.     buf2[0] = *buf++;
  15.     buf2[1] = *buf++;
  16.     sscanf(buf2, "%X", c2d++);
  17.   }
  18.  
  19.   return a;
  20. }
  21.  
  22.