12 OU 3 : assembler des drapeaux
Calculez 12 OU 3 sur 8 bits : le résultat 15 combine les bits des deux nombres.
- A en binaire
- 0000 1100
- B en binaire
- 0000 0011
- Résultat (A OU B)
- 0000 1111
- Résultat en décimal
- 15
- Résultat en hexadécimal
- 0x0F
Le cas en détail
Le OU garde un 1 dès qu'un des deux nombres en a un. 00001100 et 00000011 n'ont aucune colonne en commun, donc leur OU vaut simplement leur somme : 15. C'est ainsi que l'on combine des options (drapeaux) dans un seul nombre.
À retenir : Pour activer une option sans toucher aux autres, faites un OU avec le bit correspondant. Pour la désactiver, faites un ET avec l'inverse.
L'exemple chiffré
Valeurs utilisées dans ce cas (des exemples, pas des mesures) :
- Nombre A : 12
- Nombre B (ou nombre de positions du décalage) : 3
- Opération : A OU B
- Largeur du nombre : 8 bits (un octet)
- A en binaire
- 0000 1100
- B en binaire
- 0000 0011
- Résultat (A OU B)
- 0000 1111
- Résultat en décimal
- 15
- Résultat en hexadécimal
- 0x0F
Modifiez les champs ci-dessus pour adapter le calcul à votre situation : le résultat se met à jour tout de suite.
Comment ça se calcule
Chaque nombre est écrit en binaire sur la largeur choisie. ET donne 1 si les deux bits valent 1 ; OU donne 1 si au moins un bit vaut 1 ; OU exclusif donne 1 si les bits diffèrent ; NON inverse tous les bits de A. Un décalage à gauche de k positions multiplie par 2^k (en perdant les bits qui débordent), un décalage à droite divise par 2^k.
Les résultats sont fournis à titre indicatif, sans valeur de conseil juridique, fiscal ou financier.