Entiers Positifs en Binaire et Hexadécimal

Représentation des données

🦊

Entiers Positifs en Binaire et Hexadécimal

Rappel : Les bases dans la vie courante

Système de notation en colonnes

Notre système de notation repose sur une disposition en colonnes. Nous comptons avec 10 symboles allant de 0 à 9 que l'on nomme chiffre. Une fois que nous avons atteint le chiffre 9, si l'on souhaite rajouter 1, on se rend compte que l'on n'a pas de chiffres supérieurs. On crée ainsi une colonne à gauche qui contiendra un chiffre allant de 1 à 9 en remettant le chiffre de la colonne originelle (ou les suivantes) à 0.

Exemple : 426 est composé des chiffres 4, 2 et 6 représentés dans les colonnes des centaines, dizaines et unités.

Notre quotidien est entouré de nombres, que ce soit pour les heures qui passent, les notes, le nombre d'œufs dans une boîte. Mais il existe une quasi infinité de bases !

  • Base 12 (Douzaines) : Les boîtes d'œufs, comptage avec les phalanges.
  • Base 60 (Temps) : Heures, minutes, secondes (Babyloniens).
  • Base 4 (Shadoks) : GA, BU, ZO, MEU.
  • Base 16 (Bibi-binaire) : Boby Lapointe (H, B, K, D...).
  • Base 8 (Octal) : B8={0,1,2,3,4,5,6,7}B_{8} = \{0,1,2,3,4,5,6,7\}.

Définitions Fondamentales

Qu'est-ce qu'une base ? Une base correspond au nombre de symboles qui permettent de représenter les chiffres ou les nombres.

Base décimale : B10={0,1,2,...,9}B_{10} = \{0,1,2,...,9\}

Pourquoi le Binaire ?

En informatique, il a été décidé d'utiliser le binaire car une machine peut facilement détecter la différence entre deux états. Un processeur est composé de transistors qui traitent deux états : ouverts et fermés à la manière d'un interrupteur.

  • Base Binaire : Le binaire, ou représentation en base 2, est un moyen de représenter les nombres avec 2 symboles : 0 ou 1. B2={0,1}B_{2} = \{0,1\}
  • Bits et Octets : On nomme bit les chiffres de la représentation en base 2 et un ensemble de 8 bits est appelé un byte ou octet.

Compter en Base 2

1. Dessine ton Pixel Art

2. Représentation Binaire

L'ordinateur voit une suite de 0 (blanc) et de 1 (noir).

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

3. En Hexadécimal

Pour compresser, on regroupe les bits par 8.

0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

Pour compter en base 2, on opère de la même manière qu'en base 10. On a une colonne qui peut valoir 0 ou 1. Une fois que la colonne atteint 1, on rajoute une colonne à sa gauche à 1 et l'on passe la colonne de droite à 0.

Comment passer de base 2 à base 10 ?

Rappel : Compter en base 10 154(10)=1×102+5×101+4×100154_{(10)} = 1\times10^{2} + 5\times10^{1} + 4\times10^{0}

Exemple de conversion binaire → décimal 1101(2)=1×23+1×22+0×21+1×201101_{(2)} = 1\times2^{3} + 1\times2^{2} + 0\times2^{1} + 1\times2^{0} 1101(2)=8+4+0+1=13(10)1101_{(2)} = 8 + 4 + 0 + 1 = 13_{(10)}

Important : À partir de maintenant, pour écrire un nombre si la base n'est pas explicite, il faut la préciser, par exemple 154(10)154_{(10)} ou 1101(2)1101_{(2)}.

Exercice : Convertir de binaire en décimal

  • 1101(2)1101_{(2)}
  • 1001(2)1001_{(2)}
  • 1010(2)1010_{(2)}
  • 1111(2)1111_{(2)}

Comment passer de base 10 à base 2

Méthode des divisions successives

Pour passer de la base 10 à la base 2, on peut utiliser la méthode des divisions successives.

Exemple : Convertir 29 en binaire

29| 2
  |---
1 | 14 | 2
       |---
     0 | 7 | 2
           |---
         1 | 3 | 2
               |---
             1 | 1 | 2
                   |---
                 1 | 0

On divise successivement le nombre à convertir par 2. Chaque reste correspond au nombre dans la représentation et chaque quotient est à diviser à la suite par 2. On répète ces opérations jusqu'à ce que le quotient soit 0 et le reste 1. On lit le résultat en remontant (du dernier reste au premier).

Résultat : 2910=11101229_{10} = 11101_{2} Vérification : 111012=1×24+1×23+1×22+0×21+1×20=16+8+4+0+1=291011101_{2} = 1×2^{4} + 1×2^{3} + 1×2^{2} + 0×2^{1} + 1×2^{0} = 16 + 8 + 4 + 0 + 1 = 29_{10}

Méthode des soustractions successives

Une autre méthode utilisable est la méthode des soustractions successives. Pour ce faire, il suffit de se munir d'un tableau de puissances de 2.

Exemple : Convertir 42 en binaire On choisit la plus grande puissance de 2 inférieure ou égale à 42 : 26=642^6 = 64 est trop grand, 25=322^5 = 32 convient.

  1. Est-ce que 42 ≥ 32 ? Oui, on met 1 pour 252^5. Reste : 4232=1042 - 32 = 10.
  2. Est-ce que 10 ≥ 16 (242^4) ? Non, on met 0.
  3. Est-ce que 10 ≥ 8 (232^3) ? Oui, on met 1. Reste : 108=210 - 8 = 2.
  4. Est-ce que 2 ≥ 4 (222^2) ? Non, on met 0.
  5. Est-ce que 2 ≥ 2 (212^1) ? Oui, on met 1. Reste : 22=02 - 2 = 0.
  6. Est-ce que 0 ≥ 1 (202^0) ? Non, on met 0.
26=642^{6}=6425=322^{5}=3224=162^{4}=1623=82^{3}=822=42^{2}=421=22^{1}=220=12^{0}=1
0101010

Résultat : 4210=101010242_{10} = 101010_{2}

Hexadécimal

En informatique, une autre base très importante est la base hexadécimale (ou hex). Cette base représente les nombres avec 16 symboles. B16={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}B_{16} = \{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F\}

Table de correspondance

DécimalHexadécimalDécimalHexadécimal
0088
1199
2210A
3311B
4412C
5513D
6614E
7715F

Important : On représente chaque symbole de la représentation en base hexadécimale par un ensemble de 4 bits.

Convertir en base hexadécimale

Méthode des divisions successives On divise successivement par 16.

Exemple : Convertir 255 en hexadécimal 255÷16=15255 \div 16 = 15 reste 1515 (F) 15÷16=015 \div 16 = 0 reste 1515 (F)

Résultat : 25510=FF16255_{10} = FF_{16}