Me quedé asombrado al descubrir que el tipo de datos System.Numerics.Complex
en .NET no arroja resultados matemáticamente precisos.¿Por qué se rompe el tipo Complex de .NET?
Complex.Sqrt(-1) != Complex.ImaginaryOne
En lugar de (0, 1), consigo (6.12303176911189E-17, 1), que se parece mucho a un error de redondeo.
Ahora me doy cuenta de que la aritmética de punto flotante dará resultados como este a veces, pero generalmente el uso de enteros evitará errores de redondeo.
¿Por qué esta operación aparentemente básica produce un resultado obviamente incorrecto?
El tipo no está roto, no hay razón para la dramatización. –
@HenkHolterman Bueno, esa es la mejor palabra que pude encontrar para describirlo. –
Posible duplicado de [Problemas de precisión doble en .NET] (http://stackoverflow.com/q/566958/60761) y muchos otros. –