Espero que esto te sirva, debería asignar el valor 128,5 a la variable num:
Código:
unsigned char array[8];
array[0] = 0x00;
array[1] = 0x00;
array[2] = 0x00;
array[3] = 0x00;
array[4] = 0x00;
array[5] = 0x10;
array[6] = 0x60;
array[7] = 0x40;
double num;
num=*(double*)&array;
printf("%0.5f\n", num);
Y si quieres hacerlo al revés, double a char[8]:
Código:
memcpy(array, &num, sizeof(double));
for(int N=0; N<8; N++) printf("%X ", array[N]);