Depende de cómo lo use.
Si está usando double.MaxValue
como un token o valor centinela que tiene una semántica especial, entonces sí, es solo un patrón de bit con el que compara. Por ejemplo, puede usar double.MaxValue
para indicar un valor "no inicializado" o "desconocido". Hay otras formas de hacerlo (por ejemplo, con el nullable double?
), pero usar double.MaxValue
también es razonable, suponiendo que el valor no se produce naturalmente en su dominio.
Si tiene un valor double
arbitrario, y desea ver si es "igual" a double.MaxValue
, entonces querrá ver si los números están dentro de un pequeño rango (épsilon) entre sí, ya que algunos la precisión podría haberse perdido al calcular su otro valor double
. El problema a tener en cuenta aquí es con valores que van más allá de double.MaxValue
, creando una situación de desbordamiento.
Sé que esto es una especie de duplicado de los otros, sobre la base de la teoría de la comparación de números de punto flotante . Digo que si el doble es más grande que MaxValue, se desbordará, así que a menos que esté probando para ver si está a punto de desbordarse, entonces creo que será mejor probarlo hasta un límite seguro de precisión. – jcolebrand
¿Puede agregar más detalles a su pregunta? No entiendo lo que quieres comparar. – RoflcoptrException
@Roflcoptr: se agregaron algunos detalles. – GregC