jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 13 oct. 2004 à 14:27
-> Darksidious
salut,
en fait moi non plus je comprend pas la ligne, car la condition (2^lCount) est Toujours vrai Non?
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 13 oct. 2004 à 16:15
re,
ok pour le zero renvoie False, mais vu que 2^0 = 1 la condition (2^lCOunt) est toujours Vrai, donc n a rien a faire dans le IF (enfin je pense).
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_rene38
Messages postés1858Date d'inscriptionsamedi 29 juin 2002StatutMembreDernière intervention17 octobre 201311 13 oct. 2004 à 16:34
Bonjour
Dans le cas présent, le And effectue un test au niveau du bit :
lConvert And (2 ^ lCount) renvoie le nombre obtenu en faisant un "And" sur chacun des bits des 2 nombres écrits en binaire sachant que
0 And 0 = 0
0 And 1 = 0
1 And 0 = 0
1 And 1 = 1
Dans ton cas, 2^lCount étant une puissance de 2, son écriture binaire ne comporte qu'un 1 et 7 zéros.2^0 1 00000001 ; 2^1 = 2 = 000000102^2 4 00000100 ; 2^3 = 8 = 000010002^4 16 00010000 ; 2^5 = 32 = 001000002^6 64 01000000 ; 2^7 = 128 = 10000000
Le And recherche donc si le bit correspondant de lConvert est à 0 ou à 1 et ajoute ce résultat dans la chaîne représentant lConvert en binaire.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 13 oct. 2004 à 16:45
rene38,
Merci beaucoup, tres claire ton explication
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------