¿Infinito o Excepción en Java cuando se divide por 0?

Considere los siguientes fragmentos de código:

public class Geeksforgeeks
{
    public static void main(String[] args)
    {
        double p = 1;
        System.out.println(p/0);
    }
}

Salida :

Infinity
public class Geeksforgeeks
{
    public static void main(String[] args)
    {
        int p = 1;
        System.out.println(p/0);
    }
}

Producción:

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at Geeksforgeeks.main(Geeksforgeeks.java:8)

Explicación : en el primer fragmento de código, un valor doble se divide por 0, mientras que en el otro caso se divide un valor entero por 0. Sin embargo, la solución para ambos es diferente.

  • En el caso de la división doble/flotante, la salida es Infinity , la razón básica por la que implementa el algoritmo aritmético de coma flotante que especifica valores especiales como «No es un número» O «infinito» para «casos divididos por cero» según IEEE 754 normas.
  • En caso de división de enteros, lanza ArithmeticException.

Este artículo es una contribución de Pranjal Mathur . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *