![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос про сообщение NAN? [D5, Win95/98]
NAN © (2002-12-25 07:48:00)В результате какиих действий при арифметических операциях
выдается сообщение NAN.
NAN (2002-12-26 03:23:00) [1]Я нашел где возникает данное исключение. Выражение (X-(в этом месте происходит возведение отрицательного числа в степень меньше 1 и соответственно возникает исключение и далее от X естественно ничего не отнимается )) итог выражения (-NAN).
icWasya (2002-12-25 14:43:00) [2]signaling NaN
знак + или -
порядок 11..11 - все единицы
мантисса 1,0ххххх - (ненулевая)
эти числа вызывают исключения, если с ними пытаются делать арифменические операции
quet NaN
знак + или -
порядок 11..11 - все единицы
мантисса 1,1ххххх - (ненулевая)
эти числа не вызывают исключения, если с ними пытаются делать арифменические операции
Рыжик (2002-12-25 10:09:00) [3]NaN означает неопределённость. Возникает при делении 0 на 0. При делении любого другого числа (<>0) на 0 возникает INF или -INF (бесконечность) в зависимости от знака. При делении любого числа (кроме INF) на очень большое (INF) получается 0. Всё как в обычной математике.
NAN (2002-12-25 09:42:00) [4]Если я правильно понял NAN есть 0.
Внук (2002-12-25 09:39:00) [5]Могу лишь высказать предположение:
При операциях деления может возникнуть две ошибки - переполнение (overflow) (при делении на ноль, к примеру), в этом случае возвращается INF (Infinity - бесконечно большое число). И вторая ошибка - потеря точности (underflow), при делении на очень большое число. В последнем случае очевидно, что результат будет ненулевой, но у машины не хватает разрядов для хранения такой маленькой дроби. В результате выдается 0 и сообщение NAN - Not a number.
Однако, могу ошибаться, давно читал...
Lady D (2002-12-25 09:37:00) [6]Delphi Help: const NaN = 0.0 / 0.0;
To check use IsNan
NAN (2002-12-25 09:34:00) [7]Спасибо Lady D © .
Но однако я не могу понять что значит не является числом. В моем примере происходят следующие действия деление, разность и возведение в степень. При делении на 0 выдается INF я также тестировал и другие действия дают тот же INF при "неккоректных" операциях. МАСТЕРА! я уверен ВЫ неоднократно сталкивались с этим, дайте если не трудно обстоятельный ответ по данному вопросу. В моей проге много действий и на каком этапе дается NAN очень трудно определить.
Lady D (2002-12-25 09:22:00) [8]IMHO - Not A Number (Не является числом)