Numération

Bien que ce sujet soit vu en beaucoup plus de détails dans le chapitre MathInfo, voici le minimum de ce qu'il faut savoir à propos de la numération binaire et hexadécimale.

Bit, byte, octet

Quelles que soient les informations et les conventions choisies pour les coder, leurs codes sont toujours transcrits en binaire car c'est techniquement plus facile à réaliser dans un ordinateur pour le traitement, le stockage et les transmissions.

Le système binaire est un système à deux états qui correspondent à une présence ou une absence de signal électrique, magnétique ou optique.

L'information élémentaire est appelée bit contraction de binary digit (chiffre binaire)

Un bit ne peut prendre que deux valeurs 0 et 1

On regroupe les bits par mots de différentes largeurs : mots de 8, 16, 32 ou 64 bits.

Les mots de 8 bits sont appelés octets ou « bytes » en anglais.

Avec un octet on peut représenter 28 = 256 codes différents

Ces bits et ces octets servent à coder des informations de toutes natures.
Les systèmes informatiques doivent donc être organisés pour savoir où et de quelle nature sont les informations qu'il manipule. ( contrairement aux informations sur papier où on distingue immédiatement si ce qu'on voit est une image ou un texte)

Numérations de position

Considérons le nombre 1975. Ce nombre est un "mot" dont les caractères sont les chiffres. La valeur que l'on attribue à chaque chiffre dépend du chiffre en lui-même et de sa position.
-  le 1 vaut 1 x 1000.
-  le 9 qui suit représente des centaines, il vaut 9 x 100.
-  le 7 représente des dizaines, il vaut 7 x 10.
-  le 5 vaut 5 x 1.
Nous utilisons un système de numération de position et la base 10.

La base 10

La base 10 ou base décimale est celle que nous utilisons tous les jours.
Nous disposons de 10 chiffres (de 0 à 9) pour compter.
Après avoir compté 10 unités, nous utilisons deux chiffres pour écrire le nombre 10 :
- le 1 signifie que nous avons fait un paquet de dix unités que nous appelons dizaine,
- le 0 qui suit signifie que nous comptons les nouvelles unités dans un paquet qui pour l'instant est vide.
Le nombre de dizaines ne peut dépasser 9. Il nous faut donc un troisième chiffre pour compter dizaines par dizaines, ce "report" indique les centaines.
De droite à gauche on a donc les unités puis les dizaines, les centaines, les milliers et toutes les puissances successives de 10.

N.B. Il existe d'autres bases. Les Babyloniens utilisaient par exemple la base 60. C'est ce qui a marqué notre façon de compter les minutes et les secondes, celles pour mesurer le temps qui passe ou pour mesurer les angles.
Nos ancêtres utilisaient une base 20. Au lieu de compter par dizaines, ils comptaient par vingtaines (deux-vingt, troix-vingt, quatre-vingt ) Si le sujet vous intéresse allez voir ce site sur l'histoire des chiffres

Le poids des chiffres

Reprenons notre exemple 1975. Numérotons les positions des chiffres de doite à gauche en commençant par 0 pour la position des unités.

3
2
1
0
1
9
7
5

Le poids d'un chiffre dépend de sa position et de la base    Poids = base position
Voici ce que cela donne dans notre exemple :
Le poids du chiffre 1 est 103 sa valeur est 1 x 103 = 1 x 1000 = 1000
Le poids du chiffre 9 est 102 sa valeur est 9 x 102 = 9 x 100 = 900
Le poids du chiffre 7 est 101 sa valeur est 7 x 10 = 70
Le poids du chiffre 5 est 100 sa valeur est 5 x 1 (car 100 = 1)

Positions 
3
2
1
0
Chiffres décimaux 
1
9
7
5
Valeurs de chaque chiffre 
1 x 103
1000
9 x 102
900
7 x 101
70
5 x 100
5

Numération binaire

La base est 2. Nous n'utilisons que deux chiffres 0 et 1.

Remarquez qu'en base 2, le chiffre 2 n'existe pas ; tout comme le chiffre 10 n'existe pas en base 10.

Il s'agit toujours d'une numération de position. De droite à gauche nous avons donc les unités puis les "deuzaines", les "quatraines", les huitaines, les seizaines, les "trentedeuzaines" etc.

Exemple : que vaut le nombre binaire 10110 ?

Le poids d'un chiffre dépend de sa position et de la base.

Poids = base position ici en binaire le poids = 2 position

Positions 
4
3
2
1
0
Chiffres binaires 
1
0
1
1
0
Valeurs de chaque chiffre 
1 x 24
16
0 x 23
0
1 x 22
4
1 x 21
2
0 x 20
0

On a donc ici une seizaine, une "quatraine" et une "deuzaine" soit 16 + 4 + 2 = 22


La phrase suivante restera énigmatique tant que vous n'aurez pas compris ce qui précède !

Il y a 10 sortes de gens, ceux qui comprennent la numération binaire et ceux qui ne la comprennent pas !
Exercez-vous avec la balance ci-dessous pour vous habituer aux poids des chiffres binaires

Lancer l'exercice en cliquant sur ce bouton :  
Cliquez ensuite sur les poids (ici plus bas) pour les poser sur la balance ou pour les retirer.

     
 
   

Entraînez-vous avec cet exercice pour vous familiariser à l’écriture des nombres en binaire. Choisissez vos poids comme vous le feriez avec une vraie balance, en commençant par les poids les plus gros pour finir en ajustant avec les plus petits. Cette méthode est la plus simple tant que le nombre à représenter est relativement petit. Ici avec 6 bits on ne pourra écrire que des nombres allant de 0 à 63. Ensuite, si les calculs mentaux ne vous font pas peur, vous trouverez ici le même exercice avec 8 bits.

Les codes binaires sont incontournables en informatique puisque l'information la plus élémentaire y est le bit ( Binary digit - chiffre binaire)

Les mots de 8 ou de 16 bits écrits en binaire sont plus lisibles si on les inscrit en laissant un espace entre les groupes de quatre bits comme ceci : 0100 0001
On a aussi avantage à représenter les zéros non significatifs pour montrer la taille des codes transcrits. Il faut remarquer d'ailleurs que ces 0 à gauche ne sont pas toujours "non significatifs". En effet, les codes binaires ne représentent pas toujours des valeurs numériques. Ce sont parfois simplement des codes qui ne représentent pas des quantités et qui n'ont pas non plus de valeur ordinale. Inutile donc de faire de l'arithmétique avec ces codes. Dans ce cas cela n'a aucun sens de vouloir les convertir en décimal et ce serait une erreur d'omettre l'écriture des zéros à gauche.

Numération hexadécimale

La base est 16. Il nous faut donc 16 chiffres, nous avons déjà les chiffres 0 à 9, ajoutons-y les caractères A, B, C, D, E et F pour représenter les "chiffres" de 10 à 15.

Remarquez qu'en base 16, le chiffre 16 n'existe pas ; tout comme le chiffre 10 n'existe pas en décimal ni le chiffre 2 en binaire.

Nous appliquons toujours les mêmes principes de la numération de position.

Le poids d'un chiffre dépend de sa position et de la base

Poids = base position ici en hexadécimal le poids = 16 position

De droite à gauche nous avons donc les unités puis les "seizaines", les "256zaines" etc.

Exemple : que vaut le nombre hexadécimal 1A2F ?

Positions 
3
2
1
0
Chiffres hexadécimaux
1
A
2
F
Valeurs de chaque chiffre 
1 x 163
4096
10 x 162
2560
2 x 161
32
15 x 160
15

L'addition des valeurs de ces 4 chiffres donne : 4096 + 2560 + 32 + 15 = 6703

A quoi sert l'hexadécimal ?

Les codes hexadécimaux sont bien pratiques en informatique. Ils permettent de lire les codes binaires de manière compacte et nous évitent de devoir lire de longues enfilades de 0 et de 1 qui conviennent mieux aux ordinateurs qu'aux humains.

Un groupe de quatre bits permet de former 16 combinaisons différentes. Une valeur hexadécimale correspond à chaque combinaison. L'hexadécimal c'est du binaire condensé.

Le code hexadécimal 1A2F est bien plus lisible que   0001 1010 0010 1111 en binaire

Il suffit de savoir compter jusqu'à 16 en binaire et en hexadécimal pour savoir passer facilement du binaire à l'hexadécimal ou inversement.

Vous devez être capable de reproduire facilement le tableau ci-contre :

Voici un petit programme qui vous permettra de vous exercer.

Pour ceux qui souhaite voir comment cette petite application a été écrite, en voici le code source :        
   
Décimal
Binaire
Hexa

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F

 

 


XHTML	1.0	validé! CSS validé!