Les opérations binaires 1

Nous allons parler ici des opérations binaire, ( non, c’est vrai  ?!  😛 ) et avant cela il faut bien entendu connaître la syntaxe binaire.

 

Les opérateurs binaires :

Voici les différents opérateurs binaires :

Le OU, décomposé en deux possibilités, le OU bit-à-bit, ou le OU bit-à-bit exclusif ( respectivement le OR ou le XOR)

Le ET bit-à-bit ( le AND)

Le OU bit-à-bit, compare 2 bits du même poids (rang), et retourne 1 si :

  • un des deux bits comparés est a 1.
  • les deux bits comparés sont a 1.

Le OU bit-à-bit exclusif, quant à lui, retourne 1 seulement si un des deux bits comparés est à 1, et retourne 0 si les deux bits sont égaux.

Le ET bit-à-bit retourne 1 dans un seul cas : si les deux bits comparés sont a 1. Sinon, le ET retourne 0.

Exemple en langage de programmation (en C ):

En C, le OU bit-à-bit s’écrit « | » :  10 |  6 = 14, voyons ça de plus près; 10 équivaut à 1010 en binaire, et 6 à 0110. On compare tout les bits de même rang,

1 OU 0 = 1, 0 OU 1 = 1, 1 OU 1 = 1, 0 OU 0 = 0, donc le résultat donne 1110, qui équivaut à 14 en décimal !

Le OU bit-à-bit exclusif s’écrit « ^ » : 10 ^ 6 = 12, on procède de la même manière qu’au dessus, sauf que le OU exclusif entre 1 et 1 retourne 0. Donc le résultat est 1100, soit 12.

Tandis que le ET bit-à-bit s’écrit « & » : 10 & 6 = 2, car nous avons seulement un cas ou les bits comparés sont a 1, donc on obtient 0010, soit 2 en décimal.

 

Les autre opérations :

Il existe d’autres opérations, pour lesquelles je vais donner la syntaxe en langage C, et qui peuvent être pratiques :

  • Les opérateurs de décalage :

Un opérateur de décalage permet de « translater » un bloc de bits depuis une position à une position + n. Plus clairement, cela consiste à décaler vers la gauche ou la droite, notre bloc de bits. Exemple :

Décalage de 2 bits vers la gauche sur le nombre 146: 146 << 2 = 10010010 << 2 = 1001001000, donc cela donne 584 ( décalage de 2 bits revient donc à multiplier par 4 !)

Décalage de 3 bits vers la droite sur le nombre 151 : 151 >> 3 = 10010111 >> 3 = 10010, donc cela donne 18 ( ici le décalage de 3 bits vers la droite revient donc à diviser par 8)

On multiplie ou on divise par 2^n un nombre, n étant le nombre de bits décalés, avec respectivement le décalage vers la gauche ou vers la droite.

  • Les opérateurs de complément :

L’opérateur de complément  « ~ » permet tout simplement d’inverser les bits dans un nombre.

Exemple : 12 = 1100 , donc ~12 = 0011, soit 3

Dans beaucoup de cas ces opérations peuvent être pratiques, pour calculer un masque de sous réseau inversé, mettre en place un système de couleur dans un programme ( avec le rouge, le vert et le bleu, chacun codés sur 1 octet), pour faire des manipulations de la mémoire, etc …

One comment on “Les opérations binaires

  1. Répondre nico Oct 9, 2012 19 h 42 min

    Merci pour le petit rappel de cours 🙂
    Des notions que j’avais oubliées depuis bien longtemps héhé

Laisser un commentaire