![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Не представляю где нужно использовать в расчётах бесконечность. Думаю в основном это нежелательный результат, и хотелось бы видеть где именно происходит это деление на нуль (выкидывалась ошибка).
__________________
Oomph |
|
|||||
|
Вот именно. О чем и был вопрос.
|
|
|||||
|
Цитата:
Например, что больше при x -> inf: x^2 / 0 или x / 0 ? Прикол в том, что при x > 0 (x^2 / 0) = +inf, как и (x / 0) = +inf. При этом очевидно, что при x > 1 (x^2 / 0) > (x / 0). Отсюда, +inf > +inf. Это нормально, у бесконечности просто разные порядки.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Цитата:
На практике флешразработки: - случаев, где неявная обработка Infinity сокращает код не припомню, может быть в layout-менеджерах пару строк сократит; - случаев, где провозился с багой из-за того что флешплеер не кидает исключений при делении на 0 - тоже не могу вспомнить; - на случаи, где теряется точность на приближении к граничным точкам - периодически натыкался (например, самопальный твинер начинал описывать вместо дуги ступеньки, пока не применил на приближении к 0/0 другую формулу, ну и натыкался на всяких поисках пересечений, углов между отрезками и т.п.) Такое чувство, что выбор бросать исключения или использовать Infinity погоды не делает. Да и выбора у нас нет. Разве что в библиотеке для операций с валютой надо их кидать P.S. Если бы он на делении на близкое к 0 число ругнулся - я бы час сэкономил с этим твином, но разве в каких-нибудь языках ругаются на приближение, а не только на ровно 0? |
|
|||||
|
сейчас исправлял свой небольшой баг, связанный с делением на ноль, и обратил внимание на следущее -
следует отличать деление на ноль, дающее Infinity и деление на ноль, дающее NaN (0 / 0). В первом случае тригонометрические функции работают без ошибок, например: atan( Infinity ) = 90, и алгоритм работает правильно (в моём конктетном случае), второй же случай даёт ошибку - т.е. следует проверять результат деления на isNaN() или заранее исключить возможность такого деления ... |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|