C++

Résolu
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 à 00:46
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

6 réponses

magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
30 déc. 2008 à 06:22
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
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
30 déc. 2008 à 09:54
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
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
30 déc. 2008 à 12:38
exact
merci du complément shell ^^
(et pour info, non je n'avais pas noté répondre à une damoiselle)
___________________________________________________________
Magicalement
Nono
0
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 à 14:03
si count[0] = 0;
donc index=???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
30 déc. 2008 à 15:49
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
0
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
merci bcp
0
Rejoignez-nous