Ligne de C inconnue :o
Remi coudene
-
jisisv Messages postés 3678 Statut Modérateur -
jisisv Messages postés 3678 Statut Modérateur -
Bonjour a tous
Je travaille actuellement sur un projet électronique, avec un petit bout de programmation en C (le pic programmé en C ) et j avoue qu une ligne me laisse perplexe (je suis assez novice en C je dois avouer :/ )
la voici :
#define bitset(var,bitno) ((var)|=1<<(bitno))
(et a peu pres la meme
#define bitclr(var,bitno) ((var)&=~(1<<(bitno)))
)
ce que je crois comprendre :
cela définit une variable bitset, composé d une variable, et d un "bitno" (bit number peut etre :o ), mais alors le petit bout qui suit, j avoue je suis perdu , je connais le symbole du Ou inclusif logique |=, et le << qui est un décalage vers la gauche, mais le tout ensemble.... :((
J espère que vous pourrez m éclairer
merci d avance
Rémi Coudène
Je travaille actuellement sur un projet électronique, avec un petit bout de programmation en C (le pic programmé en C ) et j avoue qu une ligne me laisse perplexe (je suis assez novice en C je dois avouer :/ )
la voici :
#define bitset(var,bitno) ((var)|=1<<(bitno))
(et a peu pres la meme
#define bitclr(var,bitno) ((var)&=~(1<<(bitno)))
)
ce que je crois comprendre :
cela définit une variable bitset, composé d une variable, et d un "bitno" (bit number peut etre :o ), mais alors le petit bout qui suit, j avoue je suis perdu , je connais le symbole du Ou inclusif logique |=, et le << qui est un décalage vers la gauche, mais le tout ensemble.... :((
J espère que vous pourrez m éclairer
merci d avance
Rémi Coudène
A voir également:
- Ligne de C inconnue :o
- Partage de photos en ligne - Guide
- Formulaire en ligne de meta - Guide
- Mètre en ligne - Guide
- Appeler en inconnue - Guide
- Apparaitre hors ligne instagram - Guide
3 réponses
Ce sont deux macros qui permettent de placer le bit numéro bitno Ã
0 ou 1 respectivement.
L'opérateur shift << possède une plus grande priorité que le ou (|) bitwise.
Tu peux réécrire les macros
#define bitset(var,bitno) ((var)|= (1<<(bitno)))
#define bitclr(var,bitno) ((var)&= (~(1<<(bitno))))
Johan
The�software�said�"Requires�Windows98,�Win2000,�or�better,
So�I�installed�Unix.
0 ou 1 respectivement.
L'opérateur shift << possède une plus grande priorité que le ou (|) bitwise.
Tu peux réécrire les macros
#define bitset(var,bitno) ((var)|= (1<<(bitno)))
#define bitclr(var,bitno) ((var)&= (~(1<<(bitno))))
Johan
The�software�said�"Requires�Windows98,�Win2000,�or�better,
So�I�installed�Unix.