Другие языки программирования и технологии

Чем опасна переменная вещественного типа? (например в Паскале, тип real)

например когда считаешь большие деньги, при округлении могут быть неточности. встречался на практике
за клиента сам будешь платить ((= вот в чем опасность. ирл
Александр Махнач
Александр Махнач
16 337
Лучший ответ
Что значит "опасна"?
Применяется там, где не возможно использовать перечисляемые типы.
Не обязательно юзать Real.
Можно Double.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Может вы имеете в виду ограничения?
Тогда Real несёт в себе до 11 десятичных знаков, а Double - до 15.
Т. е. при операциях могут теряться значения, которые находятся правее указанных выше числа знаков.
Прежде всего, что вещественный тип позволяет представить не все возможные вещественные числа. А значит, большинство расчетов будут выполняться с погрешностью.
И при определенных условиях (например, итерационный процесс) эта погрешность может расти, приводя к неверным результатам.

Во вторых, с помощью этого типа можно представить числа только из определенного диапазона. И если в результате вычислений выйти за границы этого диапазоноа, то можно получить трудно отлавливаемые ошибки.

Есть проблемы при сравнении вещественных чисел. Например, операция "равно", "больше или равно", "меньше или равно" не коррекно применять к вещественным сислам. Так, если нам надо сравнить два числа, правилльнее писать не х=у, а АБС (х-у) <Епсилон, где Епсилон - минимально возможное число для данной реализации языка (так называемое "машинное эпсилон").

Наконец, следует помнить, что вещественная арифметика требует больше вычислительных ресурсов, чем например целочисленная. Поэтому не обоснованное использование вещественного типа может привести к созданию неэффективных программ.
Ну чем ?) ..Неадекватно ведет себя когда выпьет - чем она может быть еще "опасна" ?
Что вообще за бредовая постановка вопроса - "чем опасна" ?
Ну если к примеру ты программу по управлению атомным реактором составишь с неправильными типами переменных то результаты могут быть плачевны.
Наверно что-то типа этого.
Макс
Макс
31 781