Et sinon concernant le %0x1FF, une bonne démo mathématique vaut mieux qu'un long discours.
Le chapitre de math d'aujourd'hui est: congruences
Ce qu'il faut savoir:
si a est congru à c
et b congru à d alors
a*b est congru à c*d
et
a+b est congru à c+d
lorsque que tu multiplie ton char par 0x01010101 tu obtient:
1*char+0x100*char+0x100^2*char+0x100^3*char
si ton char s'écrit abcdefgh alors lors que tu fait & 0x08040201 tu obtient
h+g*2*0x100+f*4*0x100^2+e*8*0x100^3
=h+g*0x200+f*0x200^2+e*0x200^3
ensuite en remarquant que 0x200 est congru à 1 modulo 0x1FF tu obtient
=h+g+f+e
et ton lsb est ta parité
Message édité par h3bus le 24-11-2010 à 15:35:36
---------------
sheep++