J'essaie de déclarer un nombre entier en octets. Ce que je veux dire est: j'essaie de déclarer int a = 4 comme int a = 0100 (je l'ai raccourci ici à 4 bits pour plus de simplicité.) Voici le code que j'ai utilisé et qui me donne une sortie inattendue.Représentation d'un nombre entier en bits: erreur
public class class4A_d {
public static void main(String[] args) {
System.out.println("Hello world,this is the main function ");
int q1= 00000100; //8 bits
int q2 = 00000000000000000000000000000100; //32 bits
System.out.println("q1 and q2 are respectively "+ q1 + ":" + q2); //q1= 64,q2 =64
}
}
je sais magasins java entiers que le nombre de 32 bits en deux, s complètent à l'extrémité arrière avec un poids de chaque bit progresse de la manière suivante: 2 (^ 0), 2 (^ 1), 2 (^ 2) ..... etc. Mais ici, il semble que les poids sont de la manière suivante: 8 (^ 0), 8 (^ 1), 8 (^ 2) ..... etc. Quelqu'un peut-il expliquer cela?
double possible de [En Java, je peux définir un nombre entier constant au format binaire?] (Http://stackoverflow.com/questions/867365/in-java-can-i-define-an-integer -constant-in-binary-format) – Marged
@Marged ..J'avais déjà vu le lien que vous avez mentionné, il ne répond pas à ma question mate. –
Votre peu constante est juste faux – Marged