Hello,
J'ai un problème assez étrange qui montre certainement que je n'ai pas assez écouté mes cours d'info de base.
Partant du fait que les entiers sont codés sur 32 bits, je me demande pourquoi certaines valeurs ne sont pas convertibles par java ? Prenons le code suivant:
Une java.lang.NumberFormatException est lancée à la dernière ligne, alors que l'entrée binaire provient de Integer.toBinaryString().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 int i = Integer.MIN_VALUE ; String bin = Integer.toBinaryString(i); System.out.println(bin.length()); // 32 int ii = Integer.parseInt(bin, 2);
En d'autres termes il est capable de convertir la valeur maximale des entiers en chaine binaire, mais il n'est pas capable de faire alors la conversion inverse... et cela me perturbe fortement. D'autant plus que mon problème initial est de transformer des chaines binaires en plusieurs entiers de 32 bits, et que je ne vois pas comment je vais faire du coup...
Si quelqu'un pouvait m'éclairer
Merci d'avance!
Partager