Necesito verificar mi número complejo como un cero. Cómo puedo hacer para números de punto flotante?
Se puede comparar con la de un punto flotante literal con valor de 0. Usted puede utilizar un literal entero con std::complex<double>
. Ejemplo:
a == 0.0
Puedo usar algo como ...
Lo que has demostrado no comparar si el número complejo es igual a cero; compara si el número complejo está cerca de cero. Esto puede ser razonable la operación, por ejemplo, en el caso de que el número es el resultado de un cálculo con un margen de error, y desea saber si el resultado está dentro del margen. Pero es una operación independiente
Si que es una buena manera de comparar si el número es cercano a cero depende del caso de uso. Por ejemplo, epsilon
no es necesariamente el mejor umbral de "cerca". Otra cosa que usted puede considerar es si usted debe comparar std::abs(a)
para el umbral en lugar de comparar los componentes por separado, es decir, si debe utilizar la distancia euclídea en lugar de manhattan distancia.