Форум: "Потрепаться";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизРазличие в типах Найти похожие ветки
← →
КаПиБаРа © (2004-12-17 14:52) [0]Почиму в IBASE
FLOAT 32 bits 1.175 x 10–38 to 3.402 x 1038 IEEE single precision: 7 digits
а в Delphi
Single 1.5 x 10^–45 .. 3.4 x 10^38 7–8 4
← →
MBo © (2004-12-17 17:05) [1]полагаю, в хелпе Дельфи неверно написано.
Single соответствует стандарту IEEE - 1 бит знаковый, 8 бит экспоненты(-128..127), 23 - мантисса (от 1 до 2)
http://www.math.byu.edu/~schow/work/IEEEFloatingPoint.htm
Вот выдача тестовой программы из библиотеки DMath
Float type = Single Size = 4 bytes
MACHEP = 1.19209300000000E-0007
MINNUM = 1.17549500000000E-0038
MAXNUM = 3.40282300000000E+0038
← →
Григорьев Антон © (2004-12-17 17:21) [2]Вообще, 1.175*10–38 - это минимальное число при использовании только нормализованного представления, а 1.5*10^–45 - при использовании денормализованного. Процессоры Intel для маленьких чисел используют денормализованную запись. Честно говоря, не знаю, включают ли в себя стандарты IEEE денормализованную запись, или же это интеловская отсебятина. Но реально Single может хранить числа именно до 1.5*10^–45, ошибки в справке нет.
О нормализованной и денормализованной записи можно прочитать здесь: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
← →
MBo © (2004-12-17 17:28) [3]>Григорьев Антон © (17.12.04 17:21) [2]
Да, в стандарте описана денормализованная запись, с указанием, что точность при ее использовании страдает.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c