bonjour,
je sais qu'il y a bcp d'articles dessus mais j'ai une question.
je sais que pour décaller 2 bits vers la gauche je peux faire:
x << 2
maintenant:
ayant une fonction lirebits(x,4,3) qui retourne les 3 bits des positions 4, 3 et 2 de x, cadrés à droite:
1.d'après mon book x >> (p+1-n) déplace les bits sélectionnés à l'etrêmité droite du mot:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 unsigned lirebits(unsigned x, int p, int n) { return ( x >> (p+1-n) ) & ~(~0 << n); }
==> je ne comprend pas comment.
2. si ~ est le complément cela veut dire ~0 = 1 donc ~(~0 << n) <=> ~(1 << n)
==> je ne comprend pas non plus.
quelqu'un pourrait bien me l'expliquer clairement svp?
Merci de votre aide.
Cdt
Partager