0

Javaで健全な間隔演算を実装するには?

Javaでサウンドインターバル演算を実装する必要があります。例としてdouble型を取り上げます。「 0.1」は IEEE で厳密に表現できないため、 iterval [ 0.09999....005 , 0.1000000...05 ] を使用して、値「 0.1」の値の範囲情報を記述します。-754 標準、つまりJava のdouble型。演算0.1 * 0.1を考慮すると、実際の結果は0.01000...5、またはさまざまな丸めモード内で0.00999..5になる場合があります。区間演算の結果は [ leftHand , rightHand ] で、leftHandは0.01000...5未満、rightHandは 0.00999..5 より大きくする必要があります。double 型を使用してこの算術を実装すると、次の 2 つの疑問が生じます。

  1. 区間の左辺を計算するとき、四捨五入モードを DOWN に設定して、左辺の値が実際の値よりも小さくなるようにします。つまり、実際の値よりも小さいdoule型の数と、実際の値よりも大きいdouble型の数を計算する必要があります。この区間を算術音と呼んでいます。
  2. 4 つのdouble数値の最大値を計算する関数が必要です。つまり、double MAX ( d1、d2、d3、d4 )は、d1、d2、d3、および d4 の最大 double 数値を返します。
4

0 に答える 0