salut,
Dans la fonction en c++ ci-dessous, il y a une instruction que je parviens pas à la comprendre " Z[i+7]=((Z[i&7] << 9) | (Z[i+1 & 7] >> 7)); " je ne sais pas à quoi servent les "&" , "|" , "<<" et ">>"
et voila la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
static void cr_cle_idea(word16 *cle_cry_dec, word16 *Z)
{
    int i,j;
    for (j=0;j<8;j++)
    Z[j]=*cle_cry_dec++; /* les 8 premiere sous-cle */
    for (i=0;j<LONG_CLE;j++)
    {
        i++;
        Z[i+7]=((Z[i&7] << 9) | (Z[i+1 & 7] >> 7));
        Z+=i&8;
        i&=7;
    }
}
stp j'éspére que vous pouvez m'aider.
Merci.