FloatingPointNumerics.AreAlmostEqualUlps Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| AreAlmostEqualUlps(Double, Double, Int64) |
Compara dois valores de ponto flutuante de precisão dupla quanto à igualdade |
| AreAlmostEqualUlps(Single, Single, Int32) |
Compara dois valores de ponto flutuante quanto à igualdade |
AreAlmostEqualUlps(Double, Double, Int64)
Compara dois valores de ponto flutuante de precisão dupla quanto à igualdade
public static bool AreAlmostEqualUlps(double left, double right, long maxUlps);
static member AreAlmostEqualUlps : double * double * int64 -> bool
Parâmetros
- left
- Double
Primeiro valor de ponto flutuante de precisão dupla a ser comparado
- right
- Double
Segundo valor de ponto flutuante de precisão dupla t ser comparado
- maxUlps
- Int64
Número máximo de valores de ponto flutuante de precisão dupla representáveis que podem estar entre os valores de ponto flutuante de precisão dupla esquerda e direita
Retornos
True se ambos os números forem iguais ou próximos de serem iguais
Comentários
Valores de ponto flutuante de precisão dupla só podem representar uma série limitada de números naturais. Por exemplo, os valores 2,000000000000000000 e 2,0000000000000004 podem ser armazenados em um duplo, mas nada entre eles.
Essa comparação contará quantos valores possíveis de ponto flutuante de precisão dupla estão entre a esquerda e o número direito. Se o número de valores possíveis entre ambos os números for menor ou igual a maxUlps, os números serão considerados iguais.
Aplica-se a
AreAlmostEqualUlps(Single, Single, Int32)
Compara dois valores de ponto flutuante quanto à igualdade
public static bool AreAlmostEqualUlps(float left, float right, int maxUlps);
static member AreAlmostEqualUlps : single * single * int -> bool
Parâmetros
- left
- Single
Primeiro valor de ponto flutuante a ser comparado
- right
- Single
Segundo valor de ponto flutuante t ser comparado
- maxUlps
- Int32
Número máximo de valores de ponto flutuante representáveis que podem estar entre os valores de ponto flutuante à esquerda e à direita
Retornos
True se ambos os números forem iguais ou próximos de serem iguais
Comentários
Os valores de ponto flutuante só podem representar um subconjunto finito de números naturais. Por exemplo, os valores 2,000000000 e 2,000000024 podem ser armazenados em um float, mas nada entre eles.
Essa comparação contará quantos valores de ponto flutuante possíveis estão entre o número à esquerda e à direita. Se o número de valores possíveis entre ambos os números for menor ou igual a maxUlps, os números serão considerados iguais.