java.lang.Mathとjava.lang.StrictMathの違いは何ですか?

Iain Sproat:

明らかにjava.lang.StrictMath含まれてjava.lang.Mathいない追加の関数(双曲線など)が含まれていますが、両方のライブラリにある関数に違いはありますか?

クーバード:

MathクラスのJavadoc は、2つのクラスの違いに関する情報を提供します。

classのいくつかの数値メソッドとは異なり、class StrictMathの同等の関数のすべての実装はMath、ビットごとに同じ結果を返すように定義されていません。この緩和により、厳密な再現性を必要としない、より優れたパフォーマンスの実装が可能になります。

デフォルトでは、多くのMathメソッドStrictMathは実装のために同等のメソッドを呼び出すだけです。コードジェネレーターは、プラットフォーム固有のネイティブライブラリまたはマイクロプロセッサー命令(使用可能な場合)を使用して、Mathメソッドのより高性能な実装を提供することをお勧めしますこのようなより高性能な実装は、依然としての仕様に準拠する必要がありMathます。

したがって、Mathクラスは特定の操作が何をすべきかについていくつかのルールをレイアウトしますが、ライブラリのすべての実装でまったく同じ結果が返されることを要求しません

これにより、ライブラリの特定の実装が同様の結果を返すことができますが、たとえば、Math.cosクラスが呼び出された場合、まったく同じ結果にはなりませんこれにより、異なる結果を返す可能性のあるプラットフォーム固有の実装(x86浮動小数点やSPARC浮動小数点など)が可能になります。

プラットフォーム固有の実装の例については、ウィキペディアSine記事の「ソフトウェア実装」セクションを参照してください。)

ただし、ではStrictMath、異なる実装から返される結果は同じ結果を返す必要があります。これは、異なるプラットフォームでの結果の再現性が必要な場合に適しています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

java.lang.Voidとvoidの違いは何ですか?

分類Dev

java.lang.String.getBytes()とjava.nio.charset.CharsetEncoder.encode()の違いは何ですか?

分類Dev

java.lang.UnsupportedClassVersionErrorとは何ですか?

分類Dev

java.lang.Math.PIはGCCのM_PIと等しいですか?

分類Dev

java.lang.Mathはkotlin.mathと互換性がありますか?

分類Dev

Java.Lang.Mathが抽象的でないのはなぜですか?

分類Dev

Math.pow での Java.Lang.Exception

分類Dev

java.lang.RuntimeExceptionとjava.lang.Exceptionの違い

分類Dev

Long.valueOf(java.lang.String)と新しいLong(java.lang.String)の違いは?

分類Dev

LANG = CとLC_ALL = Cの違いは何ですか?

分類Dev

java.lang.OutOfMemoryError?

分類Dev

java.lang.ClassCastException

分類Dev

java.lang.IllegalThreadStateException

分類Dev

java.lang.NoClassDefFoundError

分類Dev

java.lang.UnsatisfiedLinkError

分類Dev

「java.lang.NoClassDefFoundError」

分類Dev

java.lang.NoSuchFieldException

分類Dev

java.lang.NullPointerException?

分類Dev

Java.lang.StringIndexOutOfBoundsException

分類Dev

java.lang.ArrayIndexOutOfBoundsException

分類Dev

java.lang.NoClassDefFoundError:groovy / lang / GroovyObject

分類Dev

java.lang.reflect.Field#slotとは何ですか?

分類Dev

java.lang.reflect.InvocationTargetExceptionの原因は何ですか?

分類Dev

java.lang.IncompatibleClassChangeErrorの原因は何ですか?

分類Dev

java.lang.NoClassDefFoundErrorの原因は何ですか?

分類Dev

OSGiでのjava.lang.NoClassDefFoundError

分類Dev

Linuxでのjava.lang.UnsatisfiedLinkError

分類Dev

AIXでのjava.lang.UnsupportedClassVersionError

分類Dev

AndroidJavaでのjava.lang.NullPointerException

Related 関連記事

  1. 1

    java.lang.Voidとvoidの違いは何ですか?

  2. 2

    java.lang.String.getBytes()とjava.nio.charset.CharsetEncoder.encode()の違いは何ですか?

  3. 3

    java.lang.UnsupportedClassVersionErrorとは何ですか?

  4. 4

    java.lang.Math.PIはGCCのM_PIと等しいですか?

  5. 5

    java.lang.Mathはkotlin.mathと互換性がありますか?

  6. 6

    Java.Lang.Mathが抽象的でないのはなぜですか?

  7. 7

    Math.pow での Java.Lang.Exception

  8. 8

    java.lang.RuntimeExceptionとjava.lang.Exceptionの違い

  9. 9

    Long.valueOf(java.lang.String)と新しいLong(java.lang.String)の違いは?

  10. 10

    LANG = CとLC_ALL = Cの違いは何ですか?

  11. 11

    java.lang.OutOfMemoryError?

  12. 12

    java.lang.ClassCastException

  13. 13

    java.lang.IllegalThreadStateException

  14. 14

    java.lang.NoClassDefFoundError

  15. 15

    java.lang.UnsatisfiedLinkError

  16. 16

    「java.lang.NoClassDefFoundError」

  17. 17

    java.lang.NoSuchFieldException

  18. 18

    java.lang.NullPointerException?

  19. 19

    Java.lang.StringIndexOutOfBoundsException

  20. 20

    java.lang.ArrayIndexOutOfBoundsException

  21. 21

    java.lang.NoClassDefFoundError:groovy / lang / GroovyObject

  22. 22

    java.lang.reflect.Field#slotとは何ですか?

  23. 23

    java.lang.reflect.InvocationTargetExceptionの原因は何ですか?

  24. 24

    java.lang.IncompatibleClassChangeErrorの原因は何ですか?

  25. 25

    java.lang.NoClassDefFoundErrorの原因は何ですか?

  26. 26

    OSGiでのjava.lang.NoClassDefFoundError

  27. 27

    Linuxでのjava.lang.UnsatisfiedLinkError

  28. 28

    AIXでのjava.lang.UnsupportedClassVersionError

  29. 29

    AndroidJavaでのjava.lang.NullPointerException

ホットタグ

アーカイブ