bsuart Asked:2020-01-22 07:16:49 +0000 UTC2020-01-22 07:16:49 +0000 UTC 2020-01-22 07:16:49 +0000 UTC strictfp修饰符 772 这个修改器有什么用?它可以和什么一起使用? java 2 个回答 Voted Best Answer Petya 2020-01-22T07:27:42Z2020-01-22T07:27:42Z strictfp 是 java 1.2 中引入的修饰符,它根据 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 如果将这些数字与百分之一的精度进行比较,那么它们将是相同的。精度如何影响计算的示例。你不能使用它,因为。几乎所有的现代编译器都已经为我们替换了它(我在手册的某处读到过)添加。 post_zeew 2020-01-22T07:40:47Z2020-01-22T07:40:47Z 修饰符strictfp适用于类、接口和方法,并确保所有浮点运算符合 IEEE 754 标准。 使用此修饰符时,您将在所有平台上操作浮点数时获得相同的行为。 您还可以在JLS中阅读有关 FP-strict 的信息。
strictfp 是 java 1.2 中引入的修饰符,它根据 IEEE 标准限制了浮点数和双精度数的计算精度。它是做什么用的?以保证便携性。事实是JVM使用了处理器所有可能的精度,在不同的系统上是不一样的,所以结果可能不一样,这个修饰符用在需要计算精度超过IEEE的程序中(通常是科学相关的东西)。
在类中,这意味着所有系统上的所有方法都将以相同的精度返回实数。0.112 和 0.113 如果将这些数字与百分之一的精度进行比较,那么它们将是相同的。精度如何影响计算的示例。你不能使用它,因为。几乎所有的现代编译器都已经为我们替换了它(我在手册的某处读到过)添加。
修饰符
strictfp适用于类、接口和方法,并确保所有浮点运算符合 IEEE 754 标准。使用此修饰符时,您将在所有平台上操作浮点数时获得相同的行为。
您还可以在JLS中阅读有关 FP-strict 的信息。