Raphaël
:
Non non j'ai rien dit ! C'est de ma faute en fait
OK.
et par contre pourquoi quand je fais ça :
*(pointeur+1) |=*(pic)<<(8-x_&7);
*(pointeur++) |=*(pic++)>>(x_&7);
ça foire et qaund je fais ça :
short mask = x_&7;
*(pointeur+1) |=*(pic)<<(8-mask);
*(pointeur++) |=*(pic++)>>(mask);
ça marche ?
Il manque des parenthèses autour de
x_&7. Mais la deuxième solution est meilleure de toute façon. (Cela dit, elles reviennent au même, parce qu'il y a une optimisation pour ça dans GCC.)
Et j'ai mieux:
*(pointeur++) |=*(pic)>>(mask);
*(pointeur) |=*(pic++)<<(8-mask);