Страницы

Поиск по вопросам

среда, 3 октября 2018 г.

Модификатор strictfp

Для чего нужен данный модификатор? И с чем его можно использовать?


Ответ

strictfp - это модификатор, введенный в java 1.2, ограничивающий точность вычислений с float и double по стандарту IEEE. Для чего это нужно? Чтобы обеспечить переносимость. Дело в том, что JVM использует всю возможную точность процессора, а она на разных системах разная, поэтому и результат может получиться разный.Данный модификатор используется в программах требующих точность вычислений превышающих IEEE (обычно, что-нибудь связное с наукой).
strictfp class StrictFPClass { double num1 = 10e+102; double num2 = 6e+08; double calculate() { return num1 + num2; } }

strictfp interface StrictFPInterface { double calculate(); strictfp double compute(); // compile error }

class StrictFPMethod { strictfp double computeTotal(double x, double y) { return x + y; } }

В классе он обозначает, что все методы будут на всех системах возвращать вещественные числа с одинаковой точностью. 0.112 и 0.113 Если эти числа сравнивать с точность до сотых, то они будут одинаковы. Пример, как точность влияет на вычисления. Его можно не использовать т.к. почти все компиляторы современные уже его за нас подставляют (где-то читал такое в мануале) Дополнил.

Комментариев нет:

Отправить комментарий