Для чего нужен данный модификатор? И с чем его можно использовать?
Ответ
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
Если эти числа сравнивать с точность до сотых, то они будут одинаковы. Пример, как точность влияет на вычисления.
Его можно не использовать т.к. почти все компиляторы современные уже его за нас подставляют (где-то читал такое в мануале)
Дополнил.
Комментариев нет:
Отправить комментарий