Besoin d'aide pour la comprehension d'un script - Java - Programmation
Marsh Posté le 13-09-2013 à 22:11:29
ent, il est déjà en binaire. Ta conversion, en fait, elle convertit un entier (en binaire) en tableau d'entiers valant 0 ou 1 représentant les bits binaires de ent.
ent >> i decale de i bits vers la droite.
& 0x01 masque tous les bits sauf le premier
exemple:
ent = 10,
Donc en binaire ent c'est 00001010
i = 0 ent >> i c'est 00001010 et (ent >> i ) && 0x01 c'est 00000000 soit 0 donc res[0] = 0
i = 1 ent >> i c'est 00000101 et (ent >> i ) && 0x01 c'est 00000001 soit 1 donc res[1] = 1
i = 2 ent >> i c'est 00000010 et (ent >> i ) && 0x01 c'est 00000000 soit 0 donc res[2] = 0
i = 3 ent >> i c'est 00000001 et (ent >> i ) && 0x01 c'est 00000001 soit 1 donc res[3] = 1
i = 4 ent >> i c'est 00000000 et (ent >> i ) && 0x01 c'est 00000000 soit 0 donc res[4] = 0
...........
i = 7 ent >> i c'est 00000000 et (ent >> i ) && 0x01 c'est 00000000 soit 0 donc res[7] = 0
A+,
Marsh Posté le 13-09-2013 à 20:03:22
Bonjour,
je dois pour les cours écrire une fonction qui transforme un entier donné en argument un binaire (sur 1 octet). Hors, j'avais il y a quelques temps déjà utilisé une fonction comme ça, mais à l'époque je n'avais pas pris la peine de la comprendre, car c'était pas vraiment de mon niveau (en fait, je n'avais pas appris le décalage de bits). Bref, un forumeur m'avais donné un bout de code fonctionnel, donc c'était tout bon, mais j'aimerais maintenant qu'on m'aide à le comprendre !
Voilà la fonction en question :
Je ne comprend vraiment pas le fait, de diviser par une puissance nième de deux à chaque itérations et surtout, le but du ET logique entre le résultat du décalage et 0x01.
Si quelqu'un pouvait m'expliquer, ça serai super !