Operateurs |= &= ~ en langage C
Résolu
cyrard
-
ikoria -
ikoria -
Bonjour,
Voila je fais la retro-ingenierie des sources de openssl CMS et n'etant pas tres experimente en C je ne comprend pas les operateurs suivants:
|=
&=
~
dans le contexte suivant:
int flags=CMS_DETACHED;
[...]
flags &= ~CMS_DETACHED;
[...]
flags |= CMS_BINARY;
Dans les tutos de langage C sur le net on ne parle pas de ces operateurs.
Pourraient ils etre definis dans les lignes de commandes du precompilateur dans un fichier .h quelconque de l'application.
Merci
Voila je fais la retro-ingenierie des sources de openssl CMS et n'etant pas tres experimente en C je ne comprend pas les operateurs suivants:
|=
&=
~
dans le contexte suivant:
int flags=CMS_DETACHED;
[...]
flags &= ~CMS_DETACHED;
[...]
flags |= CMS_BINARY;
Dans les tutos de langage C sur le net on ne parle pas de ces operateurs.
Pourraient ils etre definis dans les lignes de commandes du precompilateur dans un fichier .h quelconque de l'application.
Merci
A voir également:
- C |=
- |= En c - Meilleures réponses
- |= C - Meilleures réponses
- Langage ascii - Guide
- Langage binaire - Guide
- Que veut dire le rectangle en langage sms - Forum Nokia
- Pascal langage - Télécharger - Édition & Programmation
- Clc langage jeune ✓ - Forum Réseaux sociaux
7 réponses
a |= b; est équivalent à : a = a|b; => le "ou" binaire
Exemple avec a = 10 (00001010 en binaire) et b = 6 (00000110 en binaire)
après a|=b, a contiendra 14 (00001110 en binaire)
a&=b est équivalent à a=a&b; => le "et" binaire
pour reprendre mon exemple : après a&=b; a contiendra 2 (00000010 en binaire)
la vague ~ est, si je me souviens bien, le complémentaire.
Exemple avec a = 10 (00001010 en binaire) et b = 6 (00000110 en binaire)
après a|=b, a contiendra 14 (00001110 en binaire)
a&=b est équivalent à a=a&b; => le "et" binaire
pour reprendre mon exemple : après a&=b; a contiendra 2 (00000010 en binaire)
la vague ~ est, si je me souviens bien, le complémentaire.