2 votes

Pourquoi la conversion en int me donne 8 au lieu de 0 ?

Désolé si c'est simple. Cela me perturbe depuis un certain temps déjà. Dans le code suivant :

public class Main {
    public static void main(String[] args) {
        long a = 10000000000L;
        System.out.println(a % 10);
    }
}

J'obtiens une sortie de 0, ce qui est ce que j'attendais. Mais lorsque je convertis en int comme ceci,

public class Main {
        public static void main(String[] args) {
            long a = 10000000000L;
            System.out.println((int)a % 10);
        }
}

J'obtiens 8 comme résultat au lieu de 0. Je ne comprends pas ce qui se passe. Pourquoi 0 se transforme-t-il en 8 après le moulage ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X