Por ejemplo, en:¿Por qué double.Parse ignora el signo de cero?
bool eq = (1/double.Parse("-0.0")) == (1/-0.0);
eq
habrá false
.
double.Parse
tendrían que pasar por algunos problemas para ignorar explícitamente el signo de cero, aunque no hacerlo casi nunca resulta en un problema. Como necesito la representación en bruto, tuve que escribir mi propia función de análisis que tiene cero casos especiales y usa double.Parse
para todo lo demás.
Eso no es un gran problema, pero realmente me pregunto por qué tomaron la decisión de ignorar el signo de cero, porque me parece que no hacerlo no sería algo malo.
¿Por qué necesitarías el signo del cero? IEEE 754 afirma que '+0 == -0' después de todo. –
¿Cómo su ejemplo de código no arroja una excepción DivideByZeroException? – FishBasketGordo
@Donal: porque necesito la representación raw en bytes, y es diferente. @ FishBasketGordo: porque la división por cero en el punto flotante IEEE 754 es legal y está bien definida. – harold