![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Почему то не возникает ИС при исчезновении порядка.Код следующий.
Почему? |
|||
|
||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Рыл интернет по этому вопросу, кое чсто нашел - но понять это не могу. Мож кто подскажет? Насколько я понял, это разговор на С.
On most plattforms you need to activate FPU-Exceptions first. For windows you need _control87( 0, _EM_INVALID | _EM_DENORMAL | _EM_ZERODIVIDE | _EM_OVERFLOW | _EM_UNDERFLOW); _clearfp(); somewhere before you try to generate an exception. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
zalex, я думаю что функция FloatToStr "умная" и игнорирует некоторые символы.
нужно разделить пробелами ShowMessage(FloatToStr©); выражение. Добавлено @ 14:09 А при копировании текста усанавливать язык русским тогда не будет проблем с коментариями -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Так все понято при вычислении c:=1/(a*b);
компилятор расширяет тип до extended (скорее это делает даже сопроцессор); и только потом результат урезает - поэтому результат вполне хороший. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Да, ошибка должна быть именно в 12 строке. Но её нет
Я вообще не могу создать случай, что бы возникла EUnderflow. А во многих статьях так всё просто написано, что порой мне кажется, я что то не догоняю, либо те, кто пишут эти статьи - чистые теоретики-переводчики |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
а у меня получилось
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Ну да, а в коде Alexis1 Overflow возникает.
Кстати, пробовал
тоже не помогает. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
тоже верно.
Вот что говорит справка
вообщем для этого исключения нужно настроить какие-то флаги сопроцессора иначе результат будет нулевым -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| zalex |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Дык пробовал выше SetExceptionMask и хоть бы что .
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
еще Set8087CW есть...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| zalex |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.5.2005 Репутация: 2 Всего: 2 |
Вопрос решен.
Всё управляется
Минус, а не плюс. Всем большое спаксибо. Сегодня я разобрался с ИС, возникающих при математических операциях. День, а точнее сутки прошли не зря. Добавлено @ 18:51
Ок, спасибо. Буду знать. |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |