C++ [Résolu]

Messages postés
10
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
6 janvier 2009
- - Dernière réponse : cs_zizota
Messages postés
10
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
6 janvier 2009
- 30 déc. 2008 à 21:14
bonsoir,
je suis débutante en c++ et j'ai trouvé  un code sur net
mais j'ai rien compri

unsigned int index;
      unsigned long int count[2];
   index = (unsigned int)((count[0] >> 3) & 0x2F);

merci d'vance
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
3
Merci
il doit manquer la phase initialisation du tableau count

ça doit être
index = (unsigned int)((count[0] >> 3) & 0x2F);
qui pose pb

détaillons

index = (unsigned int)xxxxxx;

simple cast.

(count[0] >> 3)
décallage de 3 bits à droite de la 1ere valeur de count

(aaaaaaaa & 0x2F)
masque binaire permettant de conserver les 6 premiers bits de la variable aaaaaaaa.

plus d'info sur les bases ici : http://www.apprendre-en-ligne.net/crypto/images/bases.html

bon bout d'an

___________________________________________________________
Magicalement
Nono

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 222 internautes nous ont dit merci ce mois-ci

Commenter la réponse de magic_Nono
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
0
Merci
Bah alors Nono tu ne réponds seulement lorsque des filles posent des questions ? :)

Sinon il y a une petite erreur dans ce que tu dis, le masque binaire ne conserve pas les 6 premiers bits de aaaaaaa.
En effet 0x2F = 101111 (bainaire). Un masque 0x3F auarait conserver les 6 permiers bits, avec 0x2F on ne conserve pas le 5ième bit.

Shell
Commenter la réponse de DeAtHCrAsH
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
0
Merci
exact
merci du complément shell ^^
(et pour info, non je n'avais pas noté répondre à une damoiselle)
___________________________________________________________
Magicalement
Nono
Commenter la réponse de magic_Nono
Messages postés
10
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
6 janvier 2009
0
Merci
si count[0] = 0;
donc index=???
Commenter la réponse de cs_zizota
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
0
Merci
Si count[0] = 0, index = 0.


Explication :

0 en binaire = 0000000


Donc même avec un décalage de 3 bits vers la droite on aura toujours 0 = 000000 (binaire).

Ensuite lorsqu'on applique le masque : 000000 & 101111 = 000000.


Index vaut alors 0.

Shell
Commenter la réponse de DeAtHCrAsH
Messages postés
10
Date d'inscription
jeudi 5 avril 2007
Statut
Membre
Dernière intervention
6 janvier 2009
0
Merci
merci bcp
Commenter la réponse de cs_zizota