Numération |
Comment
sont représentées les informations dans un ordinateur ?
|
D'abord, quelles informations un ordinateur traite-t-il généralement ?
En cliquant sur les liens actifs ci-dessus, vous serez dirigé[e] sur le thème correspondant. Bien entendu,
à plus haut niveau, un ordinateur peut traiter des objets complexes
tels des sons, des images pluridimensionnelles,
fixes ou non, des couleurs etc.
; toutes ces représentations se font cependant à partir
des quatre catégories énoncées plus haut. |
Nombres
entiers : divers systèmes de numération
|
|||||||||||||||
Nous y sommes tellement habitués que certains attribuent à tort au nombre " dix " constituant sa base, l'origine de la simplicité avec laquelle nous pouvons effectuer la plupart des applications. En réalité, nous pourrions montrer que si on s'y était habitué, on aurait pu effectuer les mêmes opérations avec autant de facilité dauns une autre base que 10. 3 927 décimal = 3.103 + 9.102 + 2.101 + 7 (.100) La base " dix " provient
peut-être d'une méthode primitive de comptage sur les doigts. 5 274 octal = 5.83 + 2.82 + 7.81 + 4 (.80) Pour des raisons
techniques, les composants électroniques constituant la partie physique
des ordinateurs, ne reconnaissent que deux niveaux de tension électrique
que l'on a appelés " niveau haut" et " niveau bas" 1101 binaire = 1.23 + 1.22 + 0.21 + 1(.20) Les nombres binaires sont très pratiques quand ils représentent des états de capteurs ou d'actionneurs "Tout Ou Rien" industriels, mais catastrophiques en calcul : essayez de trouver l'équivalent décimal du nombre : 1101010010110111 par la formule des puissances de 2 précédente. C'est laborieux ! Un moyen terme entre
les avantages et les inconvénients des notations décimale et binaire a
été trouvé par l'emploi de l'écriture à base 16 dite " hexadécimale "
utilisant les seize chiffres suivants : Un exemple : A3F2
hexadécimal = 10.163 + 3.162 +
15.161 + 2.160
Exemple
:
Reprenons l'horrible nombre binaire de tout-à l'heure : 1101010010110111
Une
calculatrice, vite ! Un nombre
binaire de 16 bits est généralement appelé "word " en anglais. Un nombre
binaire de 32 bits est généralement appelé " double word " ou "
dword " en anglais. |
|||||||||||||||
L'opposé d'un nombre
x est, par définition, le nombre y tel que x + y = 0
On le note -x ; soit : y = -x ; ou encore : x + (-x) = 0
Une difficulté apparaît dans toutes les opérations faites avec des nombres binaires sur les calculateurs numériques réels : les nombres binaires y ont un nombre de chiffres fixe (soit 8 soit16 soit 32 soit 64 bits généralement suivant les processeurs).
C'est cette même limitation qui apparaît sur les compteurs kilométriques de véhicules. Limités par exemple à six chiffres, lorsque le comteur arrive à 999 999, il retombe à 000 000.
Tout ce qui va être dit sur les opérations mathématiques suppose que les opérations se font sans dépassement de la valeur maximale que peut prendre les format binaire choisi (nombre maximum de bits).
Si les nombres manipulés dépassent cette valeur il faudra avoir recours à un nombre supérieur de bits pour représenter les nombres.
Pour simplifier, nous allons partir de nombres de 4 bits.Les nombres extrêmes dans ce format sont 0000 et 1111, soit en décimal : 0 et 15. Ce sont des entiers positifs..Il exsite deux manières d'écrire dans ce format à la fois des nombres positifs et leurs opposés :
Exemples :
Binaire
4 Bits
|
Décimal
|
0101
|
+ 5
|
1011
|
- 3
|
0111
|
+ 7
|
1111
|
- 7
|
0000
|
+ 0
|
1000
|
- 0
|
Cette méthode semble
très simple.
Pour n bits les valeurs extrêmes sont : 2( n - 1 ) - 1
On peut écrire autant de positifs que de négatifs.
Mais le revers de la médaille est plus sombre :
Binaire
4 Bits
|
Décimal
|
||
Nombre
1
|
0100
|
+
4
|
|
Nombre
2
|
1011
|
-
3
|
|
Somme
|
1111
|
-
7
|
Faux
!
|
C'est la convention la plus utilisée.
Exemples :
Binaire
4 Bits
|
Décimal
|
||
Zéro
|
0000
|
0
|
|
Nombre
x
|
0101
|
+
5
|
|
-
x
|
1011
|
-
5
|
Par
définition
|
N.B. La soustraction binaire
se fait comme la décimale : avec retenues et reports.
Exemple :
En soustrayant les bits à droite de 0000 - 0101
on déclare : 0 - 1 = 1 je retiens 1 que
je reporte sur le zéro suivant de 0000,
et ainsi de suite ...
Arrivés au bit le plus à gauche, 1 + 1 = 0 je retiens 1
que je ne reporte pas puisque je sors du format 4 bits.
On peut ainsi construire le tableau suivant :
Binaire
|
Décimal
|
Hexadécimal
|
0111
|
+ 7
|
7
|
0110
|
+ 6
|
6
|
0101
|
+ 5
|
5
|
0100
|
+ 4
|
4
|
0011
|
+ 3
|
3
|
0010
|
+ 2
|
2
|
0001
|
+ 1
|
1
|
0000
|
0
|
0
|
1111
|
- 1
|
F
|
1110
|
- 2
|
E
|
1101
|
- 3
|
D
|
1100
|
- 4
|
C
|
1011
|
- 5
|
B
|
1010
|
- 6
|
A
|
1001
|
- 7
|
9
|
1000
|
- 8
|
8
|
Ce code est moins directement
compréhensible pour les nombres négatifs,
mais les opérations se font de la même manière pour les
positifs comme pour les négatifs
(ce qui est primordial pour les processeurs de calcul).
Binaire
4 Bits
|
Décimal
|
||
Nombre
1
|
0100
|
+
4
|
|
Nombre
2
|
1101
|
-
3
|
Voir
tableau précédent
|
Somme
|
0001
|
+
1
|
Exact
!
|
Binaire
|
Décimal
|
Hexadécimal
|
0111
1111
|
+ 127
|
7F
|
0111
1110
|
+ 126
|
7E
|
...
|
...
|
...
|
0000
0001
|
+ 1
|
1
|
0000
0000
|
0
|
0
|
1111
1111
|
- 1
|
FF
|
1111
1110
|
- 2
|
FE
|
...
|
...
|
...
|
1000
0001
|
- 127
|
81
|
1000
0000
|
- 128
|
80
|
Binaire
|
Décimal
|
Hexadécimal
|
Formules
|
0111
1111 1111 1111
|
+ 32
767
|
7FFF
|
2(16-1)-
1
|
0111
1111 1111 1110
|
+ 32
766
|
7FFE
|
|
...
|
...
|
...
|
|
0000
0000 0000 0001
|
+ 1
|
1
|
|
0000
0000 0000 0000
|
0
|
0
|
|
1111
1111 1111 1111
|
- 1
|
FFFF
|
|
1111
1111 1111 1110
|
- 2
|
FFFE
|
|
...
|
...
|
...
|
|
1000
0000 0000 0001
|
- 32
767
|
81
|
- 2(16-1)+
1
|
1000
0000 0000 0000
|
- 32
738
|
80
|
- 2(16-1)
|
Lorsque l'on écrit un nombre binaire pourvant premdre des valeurs positives
ou négatives (entier relatif),
il est indispensable d'en préciser le format (nombre de bits) dans lequel
il est écrit.
Exemple:
Le nombre 1111 représente, en écriture décimale :
Pour obtenir l'opposé d'un nombre écrit en binaire relatif dans la convention du complément à deux on change tous ses bits et on ajoute un. Il faut bien entendu opérer dans le format complet.
Exemple :
En binaire, dans la convention du complément à deux et sous format
4 bits, n = 101
Quel est son opposé ?
D'abord, faisons apparaître le format complet : n = 0101
Changeons tous ses bits : 1010
Ajoutons 1 : 1011
Vérifions sur le tebleau situé plus haut dans cette page
que n = 101 = 5 et que 1011 = -5
Cette technique peut être mise à profit dans certains opérateurs
de calcul
ou pour simplifier la recherche de la valeur absolue d'un nombre négatif
donné en binaire...