Числа двойной точности

Числа двойной точности (ieee 754 double-precision numbers) занимают в памяти 64 бита: один бит знака, 11 битов для порядка со смещением и 52 бита дробной части мантиссы (с ведущей единицей в уме).

Числа двойной точности занимают в памяти 8 байт, что составляет два 32-битных слова. Для их просмотра в шестнадцатиричном виде можно воспользоваться следующим макросом, который учитывает различный порядок байт в разных системах #ifdef LITTLE_ENDIAN
#define LO(x) *(int*)&x
#define HI(x) *(1+(int*)&x)
#elif BIG_ENDIAN
#define LO(x) *(1+(int*)&x)
#define HI(x) *(int*)&x
#endif

 

Пример:
0x3ff00000 00000000 = 
= 0b0011 1111 1111 0000 0000 0000 0000 0000 ... 0000 = 
=  0, 011 1111 1111, 0000 0000 0000 0000 0000 ... 0000 = 
= + 2^(0x3ff - 0x3ff) * 1.000 ... 00 = 
= 1.0