Le binaire, pourquoi faire !!!

Définition
Le binaire
L'hexadécimal
L'octal
Les unités employées
Home



Nos chers ordinateurs ne comprennent que les 0 et les 1. Imaginez tous les 0 et les 1 que représentent tous les programmes qui rendent vos ordinateurs si attractifs.
Mais au fait, comment ça marche ?


Origine

Le Physicien Claude Shannon démontre que l’on peut effectuer des opérations logiques à l’aide de contacteurs (interrupteurs) fermés pour vrai et ouverts pour faux. On associe alors le nombre 0 quand le courant ne passe pas et le nombre 1 quand le courant passe. Mais cela pose un problème de conversion puisque nous autres humains nous ne savons compter qu'avec des nombres allant de 0 à 9.
On a donc inventé un nouveau langage composé de 0 et de 1.
Ce langage est nommé langage binaire.
C'est avec ce langage que fonctionnent nos chers ordinateurs.
Il permet d'utiliser deux chiffres (0 et 1) pour faire des nombres. C'est la base binaire.
Nous, nous travaillons avec 10 chiffres (0,1,2,3,4,5,6,7,8,9). C'est la base décimale.
Il a fallu trouver une règle pour faire la liaison entre ces 2 bases.

C'est ce que je vais essayer de vous apprendre.

A - Définition

Le bit signifie en anglais « binary digit », code en langage binaire, c’est à dire 0 ou 1. C’est la plus petite partie d’information traitable par un processeur. On peut facilement créer des tableaux de calcul qui montrent les possibilités de codage avec le bit. Avec 2 bits, on peut avoir quatre séquences différentes, soit 2*2. Etc.

B - Numération binaire
La numération binaire est la numération de base 2, elle n'utilise que les chiffres 0 et 1, appelés bits
Comment passe-t-on du binaire au décimal ?

Voici un tableau qui va vous être indispensable pour faire les conversions :

20 = 1
21 = 2
22 = 4
23 = 8
24 = 16
25 = 32
26 = 64
27 = 128
28 = 256
29 = 512
210 = 1 024
211 = 2 048
212 = 4 096
213 = 8 192
214 = 16 384
215 = 32 768

Traduisons le chiffre binaire 101 011 :
Méthode : en partant de la droite vers la gauche, le premier caractère : 1 correspond à la première puissance de 2, le 2ème à la 2ème puissance de 2 et ainsi de suite. Allons-y : 1 x 20 + 1 x 21 + 0 x 22 + 1 x 23 + 0 x 24 + 1 x 25 = 1 + 2 + 0 + 8 + 0 + 32 = 43

Un bon dessin vaut toujours mieux q'une mauvaise explication. cliquez
Vérifions avec la calculette adéquate : nous trouvons bien 43

Traduisons maintenant le chiffre décimal 1 658 en chiffre binaire :
Méthode : cherchons la plus grande puissance de 2 immédiatement infèrieure au nombre 1 658. Voyons notre table ci-dessus, nous trouvons 210 soit 1024.
210 nous donne la position du premier caractère de gauche.
210 est au 11ème rang dans notre tableau.
Nous aurons donc un chiffre 1 comme premier caractère d'une série de 11 en partant de la gauche.
soit 1. ... ... ...
Retranchons 1 024 de 1 658, IL RESTE 634.
-La puissance immédiatement au dessous est 29 soit 512
Nous aurons donc encore un chiffre 1 comme deuxième caractère en partant de la gauche.
soit 11 ... ... ...
Retranchons 512 de 634, IL RESTE 122
-La puissance immédiatement au dessous est 28 = 256
Cette valeur n'est pas contenu dans 122, le troisième chiffre sera un 0 (zéro).
soit 11 0.. ... ...
-La puissance immédiatement au dessous est 27 = 128, cette valeur n'est toujours pas contenu dans 122, le quatrième chiffre sera un 0 (zéro).
soit 11 00. ... ...
-La puissance immédiatement au dessous est 26 = 64, cette valeur est contenu dans 122 (c'est la plus grande puissance de 2 immédiatement inférieure)
Nous aurons donc encore un chiffre 1 comme cinquième caractère.
soit 11 001 ... ...
Retranchons 64 de 122, IL RESTE 58
-La puissance immédiatement au dessous est 25 soit 32, le sixième caractère est 1.
soit 11 001 1.. ...
Retranchons 32 de 58, il reste 26
-La puissance immédiatement au dessous est 24 soit 16, le septième caratère est encore un 1.
soit 11 001 11. ...
Retranchons 16 de 26, IL RESTE 10
-La puissance immédiatement au dessous est 23 = 8, le huitième caratère est 1.
soit 11 001 111 ...
Retranchons 8 de 10, IL RESTE 2
-La puissace immédiatement au dessous est 22 = 4, cette valeur n'est pas contenu dans 2, le neuvième caractère est un 0 (zéro).
soit 11 001 111 0..
- La puissance immédiatement au dessous est 21 = 2 , 2 est compris dans mon reste, le dixième caractère est 1.
11 001 111 01
Retranchons 2 de 2, IL RESTE 0
-La puissance immédiatement au dessous est 20 = 1 donc mon dernier caractère sera un 0 puisque 1 n'est pas compris dans mon reste qui est égal à 0 (zero).
soit 11 001 111 010
Vérifions sur la calculette, pour 1658 saisie, elle nous donne 11 001 111 010 :

A BASE

Vérifions en sens inverse :

Nombre binaire
1
1
0
0
1
1
1
1
0
1
0
Puissances de 2
correspondantes au rang
210
29
28
27
26
25
24
23
22
21
20
Valeurs puissance de 2
1024
512
256
128
64
32
16
8
4
2
1
Résultat
1x1024=1024
1x512=512
0x256=0
0x128=0
1x64=64
1x32=32
1x16=16
1x8=8
0x4=0
1x2=2
0x1=0
Additionnons nos résultats : 0 + 2 + 0 + 8 + 16 + 32 + 64 + 0 + 0 + 512 + 1024 = 1658

C'est gagné !!


Petit tableau d'exemple (avec ce que nous venons de voir, vous devrier comprendre la colonne 'Décomposition')
Base 10 Base 2 Décomposition
000
1011
20101*21+0
30111*21+1
41001*22+0*21+0
51011*22 + 0*21 + 1
61101*22 + 1*21 + 0
71111*22 + 1*21 + 1
810001*23 + 0* 22 + 0*21 + 0
910011*23 + 0*22 + 0*21 + 1

Addition de deux nombres binaires
règle de l'addition : 0 + 0 = 0; 1 + 0 = 1; 1 + 1 = 0; et 1 de retenue
Exemple d'addition binaire
    0 0 0 1
 + 0 0 0 1
    --------
    0 0 1 0
Explication :
1 + 1 = 0 (mais je retiens 1)
0 + 0 = 0 + 1 de retenu = 1
0 + 0 = 0
0 + 0 = 0


Multiplication de deux nombre binaires
Règle : 0x0=0 ; 0x1=0 ; 1x0=0 ; 1x1=1

            0 1 0 1 multiplicande     5 (décimal)
         x 0 0 1 0 multiplieur      multiplié par 2 (décimal)
        -----------
           0 0 0 0
        0 1 0 1
     0 0 0 0
  0 0 0 0
-----------------
      0 1 0 1 0    (vérification : 0 * 20 + 1 * 21 + 0 * 22 + 1 * 23 + 0 * 24 = 10)


C - LA BASE 16 - HEXADECIMAL

Le binaire devenant trop lourd à manipuler, on a crée l'hexadécimal.
On calcule cette fois en base 16 : 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F :
Base 16 0123456789A BCDEF
Base 10 012345678 9101112131415
Base 2 000000010010001101000101011001111000 1001101010111100110111101111
Méthode :
Commençons par un exemple, soit le chiffe décimal 23251 à convertir en hexadécimal.
Nous somme dans une base 16, on commence donc à diviser par 16
23251 : 16 = 1453 arrondi
Ce chiffre est supèrieur à 16, il y aura donc plus de 2 caractères dans notre résultat. Remultiplions par 16. La différence avec notre chiffre de départ donnera le premier caractère en partant de la droite de notre chiffre hexadécimal :23251 -( 1453 x 16 ) = 3
Posons ...3
Divisons notre deuxième résultat par 16 soit 1453 : 16 = 90 arrondi (toujours supèrieur à 15)
1453 - ( 90 x 16 ) = 13 qui correspond à D dans notre tableau ci-dessus.
Posons ..D3
Divisons notre troisième résultat par 16 soit 90 : 16 = 5 arrondi
90 - ( 5 x 16 ) = 10 qui correspond a la lettre A.
Posons .AD3
Notre quatrième résultat est inférieur à 16, on ne va donc pas le diviser.
On pose 5AD3
23251 dans la base décimale s'écrit 5AD3 en base hexadécimale.


Conversion dans le sens inverse
Prenons 5AD3:
De la droite vers la gauche, 3 est de rang 0 donc a multiplié par 160
D équivaut a 13 (table ci-dessus), donc 13 x 161
A équivaut a 10 (table ci-dessus), donc 10 x 162
Résultat : 3 x 160 + 13 x 161 + 10 x 162 + 5 x 163 = 23251

Vérifions le résultat :
Hexadécimal Décimal       




D - NUMERATION OCTALE


Numération à base 8

Rang 6 5 4 3 2 1 0
Puissance de 8 86 85 84 83 82 81 80
= 262144 32768 4096 512 64 8 1
Nombre a convertir             1 5 6 1
Multiplions             512 320 48 1
Résultat :additionons 512 + 320 + 48 + 1 = 881
1561 en décimal s'écrit 881 en octal


E - Les unités

Le bit :
Le bit est la plus petite unité d'information utilisée par l'ordinateur, sa valeur est soit 0, soit 1. (Attention, ne pas confondre avec le byte, qui est la traduction de l'octet en anglais, donc, 1 byte = 8 bits)

Notion d'octet :
En informatique on utilise souvent le terme "octet".
Un octet est tout simplement une série de 8 bits pouvant coder 28 soit 256 mots.
En termes de traitement et de stockage, c'est l'équivalent d'un seul caractère, tel qu'une lettre, un chiffre ou un signe de ponctuation.
Un octet ne représentant qu'une petite quantité d'informations, la quantité de mémoire et la capacité de stockage sont généralement indiquées en méga octets 220 soit 1 048 576 octets ou en giga octets 230 soit 1 073 741 824 octets.
Avec un bit on peut représenter deux états différents : 0 ou 1 (porte ouverte ou fermée)
Avec deux bits on peut représenter quatre états différents ( 2*2 ) : 00 01 10 11
Avec trois bits on peut représenter huit états différents ( 2*2*2 ) : 000 001 011 111 100 110 101 010

Les multiples :
Le kilo-octet ( Ko ) vaut 210 octets = 1024 octets
Le méga-octet ( Mo ) vaut 210 Ko = 1024 Ko = 220 octets = 1 048 576 octets
Le giga-octet (Go) vaut 230 octets soit 1 073 741 824 soit 2,7488 x1011 mots traités ou stockés.
Le tera-octet (To) vaut 240 octets = 1024 Go = 1 099 511 627 776 octets
Le peta-octet (Po) vaut 250 octets = 1024 To = 1 125 899 906 842 624 octets

Les unités employées :
1 octet = 1 byte = 8 bit
1 ko (kilo-octet) = 1024 octet
etc...
Unités de vitesse :
1 kbps = 1 kilo-bit par seconde = 1000 bits par seconde - (unité de débit par seconde)
1 ko/s = 1 kilo-octet = 1024 octets/s x 8 bits = 8192 bits par seconde = 8,192 kbps
1 Mbps = 1 Mega-bit par seconde = 1 000 000 bits par seconde




Nouvelles unités de mesures binaires :
Ki = kibi = kilobinaire = 210 = 1 024
Mi = mébi = mégabinaire = 220 = 1 048 576
Gi = gibi = gigabinaire = 230 = 1 073 741 824
Ti = tébi = térabinaire = 240 = 1 099 511 627 776
Pi = pébi = pétabinaire = 250 = 1 125 899 906 842 624
Ei = exbi = exabinaire = 260 = 1 152 921 504 606 846 976
Zi = zébi = zettabinaire = 270 = 1 180 591 620 717 411 303 424
Yi = yobi = yottabinaire = 280 = 1 208 925 819 614 629 174 706 176





Retour

Accueil