Lo que estoy tratando de hacer es convertir una cadena doble a una cadena hexagonal y luego volver al doble.cadena doble a hexagonal y cadena hexagonal a doble
El siguiente código hace una conversión de cadena doble a hexadecimal.
char * double2HexString(double a)
{
char *buf = new char[17]; // double is 8-byte long, so we have 2*8 + terminating \0
char *d2c;
d2c = (char *) &a;
char *n = buf;
int i;
for(i = 0; i < 8; i++)
{
sprintf(n, "%02X", *d2c++);
n += 2;
}
*(n) = '\0';
}
Esto parece trabajo, sin embargo, no estoy seguro de cómo convertir la cadena resultante de nuevo a duplicar. Aconsejar :)
¿Está tratando de imprimir los bytes sin formato, o la representación hexadecimal del número? Además, ¿le importa la portabilidad de la cadena en sí (no el código)? – strager
¿Prefiere una solución que sea portátil, fácil de codificar/leer o rápida? – Sparr
Prefiero la solución que es fácil de codificar y leer. Necesito que esto pase algunas discusiones entre programas. Siendo más específico: el primer programa genera otro y le transfiere 2 dobles codificados en una cadena hexadecimal. Strager, ¿qué quiere decir con "portabilidad de la cadena en sí"? –