Cours 7.6. Synthèse des masquages

Le tableau ci-dessous synthétise les différents type de masquages :

Description Opérateur Opérateur en C 0 dans le masque 1 dans le masque
Forçage à zéro ET bit à bit & Force à zéro Conserve le bit
Forçage à un OU bit à bit | Conserve le bit Force à un
Inversion de bits OU exclusif bit à bit ^ Conserve le bit Inverse le bit

Exercice 1

$$ reg = ( b_7 \: b_6 \: b_5 \: b_4 \; b_3 \: b_2 \: b_1 \: b_0 )_2 $$

Complétez le programme ci-dessous afin de :

// | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
unsigned char reg = 0x55;
printf ("Avant  : ");
affBin(reg);

// Force b0 et b1 à 1
// COMPLETEZ ICI

// Force b2 et b3 à 0
// COMPLETEZ ICI

// Inverse b4 et b5
// COMPLETEZ ICI

// Affiche le résultat
printf ("Après  : ");
affBin(reg);  

Exercice 2

Complétez le programme ci-dessous afin de :

// | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
unsigned char reg = 0x55;
printf ("Avant  : ");
affBin(reg);

// Force les 4 bits de poids faible à 0 
// et les 4 bits de poids fort à 1
// COMPLETEZ ICI

// Affiche le résultat
printf ("Après  : ");
affBin(reg); 

Quiz

Quel opérateur faut-il utiliser pour inverser certains bits en conservant les autres ?

Vérifier Bravo ! Le masquage permettant d'inverser des bits se fait avec un OU exclusif bit à bit. Essaie encore ...

Quel opérateur faut-il utiliser pour réaliser un forçage à zéro ?

Vérifier Bravo ! Un forçage à zéro se fait avec un ET logigue bit à bit. Essaie encore ...

Quel opérateur faut-il utiliser pour réaliser un forçage à un ?

Vérifier Bravo ! Un forçage à un se fait avec un OU logigue bit à bit. Essaie encore ...

Quels instructions permettent de forcer les 8 bits à zéro ?

Vérifier Bravo ! Inutile d'utiliser un forçage pour changer tous les bits. Une affectation suffit. Essaie encore ...

Voir aussi


Dernière mise à jour : 24/10/2023