A voir également:
- Les converssions en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
2 réponses
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
26 déc. 2008 à 16:09
26 déc. 2008 à 16:09
Si je convertis une valeur de type int en type byte, est-ce que les 24 premiers bits vont être coupé pour seulement laisser 8 bits à droite(8 bits inchangés !) ?
Exactement, il va prendre les 8 bits à droite, attention que comme on travaille en nombre signés de base les bytes vont de -128 à 127, ainsi 128(int) >>> -128(byte) >>> 1000 0000 (2).
Si je veux convertir un char en int, il faudra que je rajoute 16 bits, que le compilateur rajoutera implicitement. Mais est-ce 16 bits nuls sont ajoutés à gauche des 16 premiers bits de mon char ou est-ce autrement ?
C'est bien des bits nuls qui sont ajouté, sans quoi tu perdrait la valeur de ton char. Donc si je convertit je char 'a' en int, je conserve bien sa valeur 97 par exemple, ce qui équivaut à 00...00 0110 0001
La troisième : Est-ce que le langage Java spécifie la représentation interne des valeurs de type boolean ?
Tu parle du fait que true = 1 et false = 0 ? Si c'est le cas, non. Par exemple en Java si tu utilise les types primitifs, tu ne peux pas comparer deux booléens.
Tu ne peux pas non plus convertir un boolean en un autre type primitif.
Par contre si tu le souhaite tu peux utiliser le type objet Boolean qui lui par exemple te permet déjà d'utiliser le compareTo(), ...
Exactement, il va prendre les 8 bits à droite, attention que comme on travaille en nombre signés de base les bytes vont de -128 à 127, ainsi 128(int) >>> -128(byte) >>> 1000 0000 (2).
Si je veux convertir un char en int, il faudra que je rajoute 16 bits, que le compilateur rajoutera implicitement. Mais est-ce 16 bits nuls sont ajoutés à gauche des 16 premiers bits de mon char ou est-ce autrement ?
C'est bien des bits nuls qui sont ajouté, sans quoi tu perdrait la valeur de ton char. Donc si je convertit je char 'a' en int, je conserve bien sa valeur 97 par exemple, ce qui équivaut à 00...00 0110 0001
La troisième : Est-ce que le langage Java spécifie la représentation interne des valeurs de type boolean ?
Tu parle du fait que true = 1 et false = 0 ? Si c'est le cas, non. Par exemple en Java si tu utilise les types primitifs, tu ne peux pas comparer deux booléens.
boolean test1 = true; boolean test2 = false; if(test1 > test2) // Erreur à la compilation
Tu ne peux pas non plus convertir un boolean en un autre type primitif.
Par contre si tu le souhaite tu peux utiliser le type objet Boolean qui lui par exemple te permet déjà d'utiliser le compareTo(), ...