Red de conocimiento informático - Material del sitio web - ¿Por qué la división de datos de tipo doble y flotante en Java se puede dividir por cero?

¿Por qué la división de datos de tipo doble y flotante en Java se puede dividir por cero?

Así es como está estipulado en Java. No hay ninguna razón para ello. Las estipulaciones específicas son las siguientes:

Cualquier número entero (byte, short, int, long es aceptable) dividido. por el entero 0 da como resultado ArithmeticException;

El resultado de dividir 0 por 0 en coma flotante es NAN. Si se desglosa, incluye las siguientes tres situaciones:

(1) 0/. 0.0

(2) 0.0 /0.0

(3) 0.0/0

Caso 3) Aunque la división es un entero 0, la conversión de tipo ocurrió durante la operación y se convirtió en un punto flotante 0;

El resultado de dividir cualquier número (los ocho tipos básicos) por un punto flotante 0 es Infinito/-Infinito.

Si preguntas por qué es así, se puede entender que el número de punto flotante 0 en Java no es un valor exacto, sino un número infinitamente cercano a 0.

Además, Float.NaN! =Float.NAN, Double.NaN!=Double.NaN; pero Float.POSITIVE_INFINITY==Float.POSITIVE_INFINITY==Double.POSITIVE_INFINITY,

Float.NEGATIVE_INFINITY==Float.NEGATIVE_INFINITY==Double.NEGATIVE_INFINITY.