[Débutant] signification de "(code << 1) | 0x1&qu
Bonjour à tous,
voilà, je suis en train d'essayer de comprendre un programme et il y a une ligne que je ne comprends pas:
sachant que code est de type int,
je voulais savoir la conséquence de cette ligne d'instruction :
(code << 1) | 0x1
Merci d'avance pour vos explications !
En fait la variable code devrait contenir un nombre binaire. J'ai donc supposé que << faisait un décalage.
Merci pr vos lumières car j'en ai grandement besoin
Re: [Débutant] signification de "(code << 1) | 0x
Citation:
Envoyé par Lord Van
sachant que code est de type int, je voulais savoir la conséquence de cette ligne d'instruction :
Il n'y a aucun mystère, il suffit d'ouvrir son livre de C au chapitre 'opérateurs binaires' (bitwise operators).
- code << 1 : la valeur de code est décalée de 1 bit vers la gauche.
- Par conséquend, le bit 0 (LSB) passe à 0.
- xxx | 0x1 : le bit 0 est forcé à 1 par l'opérateur OU (|).
Citation:
En fait la variable code devrait contenir un nombre binaire.
Une variable contient toujours un nombre binaire, vu que c'est la représentation interne éxigée par le langage C et les machines courantes.