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
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.
On utilise habituellement la représentation
décimale.
D'autres représentations sont possibles. En particulier, dans le
monde du numérique, la représentation binaire est
souvent utilisée.
À 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
Solution
Cette équation signifie que 10 en base 2 représente la même valeur que 2 en base 10. En d'autres termes, pour des êtres qui ont 1 doigt à chaque main (et deux mains), dire j'ai 10 bonbons, reviens au même que dire j'ai 2 bonbons pour nous ;-)
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 ?
Solution
(0100)2 = (4)10
(10101)2 = (21)10
(101)2 = (5)10
(0101)2 = (5)10
(00101)2 = (5)10
(100)2 est le nombre juste après (11)2, en d'autres termes : (11)2 + 1 = (100)2
De même pour les deux autres nombres.
La représentation binaire d'un nombre impaire finit par 0, Celle d'un nombre paire finit par 1.
De manière générale, quelle méthode employer pour trouver la
représentation binaire d'une valeur entière ?
Solution
On réalise des divisions successives par 2, puis on lit les restes en partant D'EN BAS.
Quelle est la représentation binaire de (14)10 et (78)10?
Solution
(14)10 = (1110)2
(78)10 = (1001110)2
Combien de valeurs différentes peut-on coder sur 8 bits ?
Solution
Sur 1 bit, on peut coder 2 valeurs différentes : 0 et 1.
Sur 2 bits, on peut coder 4 = 22 valeurs différentes : 00, 01, 10 et 11.
Sur 3 bits, on peut coder 8 = 23 valeurs différentes
...
Sur 8 bits, on peut coder 256 = 28 valeurs différentes
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.
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 : 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.
(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 ?
Solution
Le bit de poids fort, (en anglais Most Significant Bit, ou MSB) est le bit, dans une représentation binaire donnée, ayant la plus grande valeur (celui de gauche dans la représentation positionnelle habituelle).
Le bit de poids faible(en anglais Least Significant Bit, ou LSB) est pour un nombre binaire le bit ayant dans une représentation donnée la moindre valeur (celui de droite dans la représentation positionnelle habituelle).
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
1 mégaoctet (Mo)
= 106 octets
= 1 000 ko
= 1 000 000 d'octets
1 gigaoctet (Go)
= 109 octets
= 1 000 Mo
= 1 000 000 000 d'octets
1 téraoctet (To)
= 1012 octets
= 1 000 Go
= 1 000 000 000 000 d'octets
1 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 :
kibi pour « kilo binaire » ;
mébi pour « méga binaire » ;
gibi pour « giga binaire » ;
tébi pour « téra binaire » ;
et ainsi de suite.
Concernant les multiples de l'octet, cela donne :
1 kibioctet (Kio)
= 210 octets
= 1 024 octets
1 mébioctet (Mio)
= 220 octets
= 1 024 Kio
= 1 048 576 octets
1 gibioctet (Gio)
= 230 octets
= 1 024 Mio
= 1 073 741 824 octets
1 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 ?
Solution
2 To = 2 000 000 000 000 octets
Or,
1 Tio
=
1 099 511 627 776 octets
? Tio
=
2 000 000 000 000 octets
Donc ? = 2 000 000 000 000 / 1 099 511 627 776 = 1,8 Tio Ce qui est moins "vendeur" car plus petit.
Quel est le problème ?
Solution
Les valeurs sont en Gio (gibioctet) et non en Go (gigaoctet)
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.
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 OUlogiques.
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.