Прочитал
ru.wikipedia.org/wiki/%D0%AD%D0%BA%D1%81%D0%BF%...
ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%...
ftp.nix-files.org.ru/pub/docs/computer/language... (Кодировка OEM 866) - описание констант float.h здесь более понятно, чем в Подбельском.


Разбираю тип double.
FLT_RADIX имеет значение 2.
DBL_RADIX в моём случае(среда dev-cpp) не существует.
Нашёл два определения: "Радиус экспoненты" и "основание экспоненциального представления".
Но если считать за "основание экспоненциального представления" е, то

Отображает 1.234500e+006, откуда видно, что e = 10 а не 2.
Объясните на примере что из себя представляет FLT_RADIX?

@темы: Вопрос, C++

Комментарии
02.04.2011 в 20:55

А printf("FLT_RADIX %d\n", FLT_RADIX) что отображает?
02.04.2011 в 21:22

Двойку скорей всего отображает - 99,9999%.

Это число, в которое нужно возводить экспоненту во внутреннем представлении числа.
Скажем, 0x40800000, где 30..23 биты - экспонента, а остальные - нули, равна 1.0*FLT_RADIX^(129-127) = 4.
03.04.2011 в 14:05

Это число, в которое нужно возводить экспоненту во внутреннем представлении числа.
cпасибо
03.04.2011 в 16:16

как получается дробная часть DBL_MAX 1.7976931348623158e+308 ?
03.04.2011 в 19:06

babbage.cs.qc.edu/IEEE-754/64bit.html

Введите туда максимальное нормализованное число: 7fefffffffffffff
Будет показано, как оно получается.