次の方法で共有


FloatingPointNumerics クラス

定義

浮動小数点数を操作するためのヘルパー ルーチン

public class FloatingPointNumerics
type FloatingPointNumerics = class
継承
FloatingPointNumerics

注釈

浮動小数点比較コードは、次の優れた記事に基づいています。 https://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm

"ULP" は、最後の場所の単位を意味し、このライブラリのコンテキストでは、2 つの隣接する浮動小数点数間の距離を指します。 IEEE 浮動小数点数は、自然数の有限のサブセットのみを表すことができます。小さい数値の場合は精度が高く、非常に大きな数値の場合は精度が低くなります。

比較で "2 ulps" の偏差が許可されている場合、その値は最大 2 つの隣接する浮動小数点値で逸脱できます。これは、小さい数値の場合は 0.0000001、大きな数値の場合は 10.0 まで低くなる可能性があります。

メソッド

AreAlmostEqualUlps(Double, Double, Int64)

2 つの倍精度浮動小数点値を等しいかどうかを比較します

AreAlmostEqualUlps(Single, Single, Int32)

2 つの浮動小数点値を等しいかどうかを比較します

ReinterpretAsDouble(Int64)

整数値のメモリ内容を倍精度浮動小数点値として再解釈する

ReinterpretAsFloat(Int32)

整数のメモリ内容を浮動小数点値として再解釈する

ReinterpretAsInt(Single)

浮動小数点値のメモリ内容を整数値として再解釈する

ReinterpretAsLong(Double)

倍精度浮動小数点値のメモリ内容を整数値として再解釈する

適用対象