alonsyl
Messages postés348Date d'inscriptionmardi 6 avril 2004StatutMembreDernière intervention 6 novembre 2008
-
3 janv. 2006 à 20:56
Belette32
Messages postés57Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 novembre 2007
-
4 janv. 2006 à 14:30
bonjour,
en tapant le morceau de code suivant :
public class Tata {
public static void main(String[] args) {
int y = 0xef;
System.out.println(y);
}
}
j'obtiens en console : 239
comment obtient t'on ce chiffre ?
voici la correspondance que j'ai trouve dans un de mes bouquins :
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 1 2 3 4 5 6 7 8 9 a b c d e f
je devrais donc avoir :15^0 * f + 15^1 * e 15^0 *15 + 15^1 * 14 225
or : 225 != 239, ou est mon erreur ?
d'autre part, comment fait t'on pour specifier si l'on desire un nombre négatifs ? Quelle aurait ete l'ecriture de mon "int y = 0xef;" si j'avais voulu obtenir -
239 ?
Belette32
Messages postés57Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 novembre 2007 4 janv. 2006 à 10:31
slt. L'hexadecimal est une base de 16. Pour convertir ton chiffre en base de 10, voici le calcul que tu doit faire :
16^1*e + 16^0*f 16 * 14 + 1 * 15 239.
Belette32
Messages postés57Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention22 novembre 2007 4 janv. 2006 à 14:30
re, j'ai oublié le probleme du nombre negatif. Le truc, c'est qu'en hexadécimale, c'est plus chiant pour le signe. En fait, tout dépend de la longueur de ton mot. Je m'explique :
si ton mot a deux chiffres(par exemple ef) : le nombre de possiblité est 16*16=256. Si tu veux mettre un signe, le nombre de possibilité sera toujours 256, mais au lieu d'aller de 0 a 255, le nombre ira de -128 a +127.
Pour aller de 0 a 127, ton nombre ira de 00 a 7F. Puis, -1 sera 80, -2 sera 81 jusqu'a -128 qui sera ff.
Si tu veux toujours arriver jusqu'a 256, il faut que ajoute un nouveau chiffre devant(tu iras de -256 a +255). Le probleme c est que ton nombre ne rentrera plus sur 8 bit. Enfin tout dépend de l'utilisation que tu veux en faire(si c'est juste pour t'amuser a convertir, ca ira).