В продолжение темы.
Пытаюсь понять, как в некотором формате файлов записаны числа с плавающей запятой. Они там восьмибайтные. Есть само число в файле и его расшифровка проприетарной софтиной.
При записи числа вот таким образом:
typedef double Flt_t;
Flt_t x = 0.0956802824951; // первое число из примера
fwrite(&x, sizeof(x), 1, pFile);
число
представление в файле
представление после fwrite
0.0956802824951
BC 34 30 C4 80 7E B8 3F
42 41 30 C4 80 7E B8 3F
0.0101753947348
EE DF E0 5C D6 D6 84 3F
7E FC E0 5C D6 D6 84 3F
0.1596829962353
86 62 47 0F 7E 70 C4 3F
6B 69 47 0F 7E 70 C4 3F
-0.0132055462248
07 38 4A 69 82 0B 8B BF
92 68 4A 69 82 0B 8B BF
-0.0390213781919
C4 9E 5B 2E 9C FA A3 BF
81 AD 5B 2E 9C FA A3 BF
Как записать число так, чтобы формат получился нужным? И как считывать такие числа? Я в этом деле вообще не разбираюсь.