Retour sommaire

Notions abordées

Représentation binaire

Base dix

Habituellement, nous représentons les valeurs entières dans le système décimal, on dit aussi en base 10. Nous utilisons les dix chiffres de 0 à 9. La position des chiffres définit la valeur associée à ce chiffre. Par exemple, 542 est compris comme

542 = 5 x 100 + 4 x 10 + 2

Les différents chiffres correspondent aux puissances successives de 10 :

542 = 5 × 102 + 4 × 101 + 2 × 100

Base deux

L'information numérique, qu'il s'agisse de valeurs entières, de textes, d'images, ou de sons est en fin de compte représentée par des suites de 0 et de 1. On parle de bit : un bit peut prendre deux valeurs, 0 ou 1.

Le système binaire permet d'écrire les valeurs entières en n'utilisant que les deux chiffres 0 et 1. On utilise alors la base 2.

De même que pour la base 10, les positions des chiffres sont associées aux puissances successives de 2

20 = 1 ; 21 = 2 ; 22 = 4 ; 23 = 8 ; 24 = 16 ; 25 = 32 ; 26 = 64 ; etc.

Ainsi la valeur entière qui correspond à la représentation binaire 101010 est

1 × 25 + 0 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 0 × 20
= 1 × 32 + 0 × 16 + 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1
= 42

Il nous faut pouvoir indiquer que 101010 est une représentation binaire et non une représentation décimale, qui serait comprise cent un mille dix (ou encore une représentation dans une autre base...).

On notera par exemple 0b101010 ou (101010)2, ou encore 101010.

On distingue donc les valeurs entières (les entiers) et leur représentation.

À une valeur entière donnée est associée une représentation décimale, mais aussi une représentation binaire.

Expliquez ce que peut signifier le signe '=' dans l'équation suivante
10 = 2
que l'on préfèrera écrire
(10)2 = 2

Donnez les valeurs entières représentées par (0100)2, (10101)2, (101)2, (0101)2 et (00101)2.

Comparez les valeurs entières représentées par (11)2 et (100)2, (111)2 et (1000)2.

Comment reconnaitre très rapidement un nombre impaire en représentation binaire ? Et un nombre paire ?

De manière générale, quelle méthode employer pour trouver la représentation binaire d'une valeur entière ?

Quelle est la représentation binaire de (14)10 et (78)10?

Combien de valeurs différentes peut-on coder sur 8 bits ?


Conversion d'un nombre décimal en nombre binaire

Pour expliquer ce type de conversion, on peut revenir sur le système décimal.
Si nous divisons le nombre (543)10 par 10, nous obtenons comme quotient 54 et 3 comme reste. Cela signifie que ce nombre équivaut à :
(54 x 10) + 3
Le reste 3 est le chiffre indiquant le nombre d'unités.
En redivisant ce quotient (54) par 10, nous obtenons 5 comme deuxième quotient et 4 comme reste. Ce reste donne le deuxième chiffre du nombre, donc celui des dizaines.
Enfin, si l'on divise ce deuxième quotient par 10, nous obtenons 0 et il restera 5 qui représentera le chiffre des centaines.
principe d'une conversion en décimal

Résumer du principe de conversion

En divisant successivement un nombre par la base (10) et en ne conservant que les restes, on a réussi à exprimer le nombre par des chiffres inférieurs de 10. Mais attention, il faut lire les restes de bas en haut.

Conversion binaire

Maintenant si nous divisons un nombre décimal par 2, le quotient indique le nombre de fois que 2 est contenu dans ce nombre et le reste indique le chiffre des unités dans l'expression du nombre binaire.
Soit N le nombre, Q1 le quotient et R1 le reste, nous avons :
N = (Q1 x 2) + (R1 x 1)
N = (Q1 x 21) + (R1 x 20)
Exemple :
principe d'une conversion en binaire
soit :
N = (22 x 2) + (0 x 1) = 44.

Pour obtenir l'expression binaire d'un nombre exprimé en décimal, il suffit de diviser successivement ce nombre par 2 jusqu'à ce que le quotient obtenu soit égal à 0.
Comme pour la conversion dans le système décimal les restes de ces divisions lus de bas en haut représentent le nombre binaire.
conversion décimal vers binaire du nombre 44
(44)10 = (101100)2.

Octets

On a l'habitude de regrouper les bits par groupe de 8 bits : 1 octet. Comme les processeurs, n'opèrent généralement pas sur chaque bit individuellement, et que depuis les année 1970, le matèriel traite les bits huit par huit, on exprime les capacités de mémorisation des mémoire informatique (méméoire vive, disque dur, DVD...) en octet.

octets, poid fort faible.

Qu'est ce qu'un bit de poids fort, un bit de poid faible ?

Les préfixes kilo, méga, giga, téra, etc., correspondent aux mêmes multiplicateurs que dans tous les autres domaines : des puissances de 10. Appliqué à l'informatique, cela donne :

1 kilooctet (ko) = 103 octets = 1 000 octets
mégaoctet (Mo) = 106 octets = 1 000 ko = 1 000 000 d'octets
gigaoctet (Go) = 109 octets = 1 000 Mo = 1 000 000 000 d'octets
téraoctet (To) = 1012 octets = 1 000 Go = 1 000 000 000 000 d'octets
pétaoctet (Po) = 1015 octets = 1 000 To = 1 000 000 000 000 000 d'octets

La normalisation des préfixes binaires de 1998 par la Commission électrotechnique internationale spécifie les préfixes suivants pour représenter les puissances de 2 :

et ainsi de suite.

Concernant les multiples de l'octet, cela donne :

kibioctet (Kio) = 210 octets = 1 024 octets
mébioctet (Mio) = 220 octets = 1 024 Kio = 1 048 576 octets
gibioctet (Gio) = 230 octets = 1 024 Mio = 1 073 741 824 octets
tébioctet (Tio) = 240 octets = 1 024 Gio = 1 099 511 627 776 octets
1 pébioctet (Pio) = 250 octets = 1 024 Tio = 1 125 899 906 842 624 octets
1 exbioctet (Eio) = 260 octets = 1 024 Pio = 1 152 921 504 606 846 976 octets
1 zébioctet (Zio) = 270 octets = 1 024 Eio = 1 180 591 620 717 411 303 424 octets
1 yobioctet (Yio) = 280 octets = 1 024 Zio = 1 208 925 819 614 629 174 706 176 octets

Usages courants

L’usage de cette norme ne s’est pas encore généralisé. Malgré tout, les dernières versions de certains logiciels, voire de systèmes d’exploitations (comme Ubuntu à partir de la version 10.10 et Mac OS X à partir de Snow Leopard) , en tiennent maintenant compte. Par contre, d'autres comme Microsoft Windows continuent d'utiliser des valeurs binaires avec des préfixes SI. De même les fabriquants de disques durs continuent de donner les capacités, en gigaoctet, téraoctet... au lieu de les donner en gibioctet, tébioctet... (vous pourrez lire l'article de wikipédia)

Un disque dur a une capacité de 2 To, quelle est sa capacité exprimée en Tio ?

Quel est le problème ? capture d'écran de la capacité d'un disque dur

Représentation hexadécimale

L’hexadécimal correspond à la base seize.

Pour la base dix, nous avons besoin de dix chiffres différents : 0, 1, 2, …9.

Pour la base deux, nous avons besoin de deux chiffres différents : 0 et 1.

Pour la base seize, nous avons besoin de seize chiffres différents : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

La base seize est très pratique pour condenser l’écriture des nombres en base deux ! Par exemple, le nombre 135 s’écrit en base deux : (10000111)2 , on regroupe les chiffres par 4 en partant de la droite, et on donne la représentation en base seize de chaque nombre ainsi obtenu. Soit (10000111)2 = (1000 0111)2 = (8 7)16

Relation entre les nombres binaires et les nombres hexadécimaux

Ilfaut exprimer chaque caractère hexadécimal à l'aide de 4 informations binaires.
conversion hexadecimal binaire

Convertissons !

Convertir les nombres suivant dans les trois bases : binaire, décimale et hexadécimale : 18A93 ; 2012 ; 1001100 ; 10523 ; A1D10 ; 1110010011

Utilisation de la calculatrice Windows

Convertissons automatiquement !

Vérifier les résultats obtenus à la manipulation précédente à l'aide de la calculatrice WIndows réglée en mode "Programmeur"

Supplément : Calcul booléen

Le terme booléen vient du nom du mathématicien britannique George Boole. Il est le créateur de la logique moderne qui s'appuie sur l'algèbre qui porte désormais son nom : l'algèbre de Boole.

Un booléen est une donnée dont la valeur ne peut prendre que deux états, soit l'état vrai soit à l'état faux. On utilise également le bit pour représenter des booléens : ainsi un 0 représente la valeur faux et un 1 représente la valeur vrai.

Opérateurs booléens

On définit sur ces valeurs booléennes trois opérations : la négation, la conjonction et la disjonction, également appelées le NON, le ET et le OU logiques.

Le NON logique

Le NON logique d'un booléen a se définit par :

a NON a
0 1
1 0
NON a vaut VRAI si et seulement si a vaut FAUX.
Cet opérateur peut également être défini par sa table de vérité présentée ci-contre.

Le ET logique

Le ET logique entre deux booléens a et b se définit par :

a b a ET b
0 0 0
0 1 0
1 0 0
1 1 1
a ET b vaut VRAI si et seulement si a vaut VRAI et b vaut VRAI
Cet opérateur peut également être défini par sa table de vérité présentée ci-contre.

Le OU logique

Le OU logique entre deux booléens a et b se définit par :

a b a OU b
0 0 0
0 1 1
1 0 1
1 1 1
a OU b vaut VRAI si et seulement si a vaut VRAI ou b vaut VRAI

Cet opérateur peut également être défini par sa table de vérité présentée ci-contre.

Equivalences

Il est possible de définir l'opérateur OU logique à partir du NON logique et du ET logique. En effet, si a et b sont des booléens alors a OU B = NON ((NON a) ET (NON B)).

On peut utiliser les tables de vérités pour démontrer cette égalité. On construit une table dans lesquelles les colonnes représentent les différentes sous-expressions dont nous avons besoin. Les contenus des colonnes sont construits en appliquant aux colonnes connues les tables de vérité connues définies ci-dessus.

Dans notre cas en plus de a, b, parmi les expressions utiles à notre calcul on trouve NON a, NON b. Une fois la table remplie pour ces deux expressions on peut déterminer celle de l'expression (NON a) ET (NON b) : si on définit x=NON a et y= NON b, alors (NON a) ET (NON b)=x ET y.

a b NON a NON b (NON a) ET (NON b)
x y x ET y
0 0 1 1 1
0 1 1 0 0
1 0 0 1 0
1 1 0 0 0

On complète alors la table avec les expressions NON ((NON a) ET (NON b)) et (a OU b)

a b NON a NON b (NON a) ET (NON b) NON((NON a) ET (NON b)) (a OU b)
x y (x ET y) = z NON z
0 0 1 1 1 0 0
0 1 1 0 0 1 1
1 0 0 1 0 1 1
1 1 0 0 0 1 1

L'égalité des contenus des deux dernières colonnes démontrent l'équivalence des deux expressions.


Suite: Codage des caractères