Code binaire naturel
Ce code utilise l’expression naturelle du nombre en base 2 (système de numération binaire). Il est donc intéressant pour effectuer les opérations arithmétiques.
Exemple : codage binaire naturel des 10 chiffres de la base 10
| 23 | 22 | 21 | 20 | |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| 3 | 0 | 0 | 1 | 1 |
| 4 | 0 | 1 | 0 | 0 |
| 5 | 0 | 1 | 0 | 1 |
| 6 | 0 | 1 | 1 | 0 |
| 7 | 0 | 1 | 1 | 1 |
| 8 | 1 | 0 | 0 | 0 |
| 9 | 1 | 0 | 0 | 1 |
On dit que ce code est un code pondéré : le ième bit (en partant de la droite) « pèse » 2i-1.

Pour un nombre entier naturel (positif) \(\in\mathbb{R}^+\), on peut présenter son écriture binaire dans un tableau faisant apparaître les puissances successives de 2 (la plus grande puissance de 2 doit être juste inférieure au nombre à coder).
Exemple :
26 25 24 23 22 21 20 64 32 16 8 4 2 1 8710 1 0 1 0 1 1 1
Méthodes de conversion
On peut bien sûr utiliser un logiciel, comme pyLogyc par exemple, ou bien la calculatrice de Windows.
Sinon, voici une méthode « manuelle » simple :
- Réaliser la division euclidienne du nombre à coder par 2, mémoriser le reste à droite dans le tableau,
- Recommencer la division par 2 avec le quotient obtenu, ….
- Continuer jusqu’à ce que le quotient soit nul.
- Écrire la représentation binaire du nombre à coder avec la suite de restes obtenus lors des divisions
(le dernier reste obtenu correspond au bit de poids fort)











Représentation hexadécimale d’un nombre binaire
L’écriture et la lecture d’une succession de 0 et de 1 est fastidieuse pour l’homme et source d’erreurs. Pour raccourcir les mots binaires, un groupe de 4 bits consécutifs est représenté par un chiffre hexadécimal.
4 bits permettant de coder 16 chiffres, il faut en ajouter 6 aux chiffres de la base 10 : on utilise les lettres de A à F.
| 23 | 22 | 21 | 20 | |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| . | . | . | . | . |
| D | 1 | 1 | 0 | 1 |
| E | 1 | 1 | 1 | 0 |
| F | 1 | 1 | 1 | 1 |
Exemple : Le nombre binaire 1101 0011 est représenté par D3 en hexadécimal.
On note (1101 0011)2 = (D3)16 ou (D3)H
Utilisation
Pour coder les nombres qui se succèdent au sein d’un codeur absolu, le code binaire naturel n’est pas adapté.
inconvénient : 2 nombres successifs peuvent posséder 2 codes binaires naturels non adjacents, c’est à dire que plusieurs bits changent d’état lorsqu’on passe d’un nombre à son suivant.
Exemple : pour passer du nombre 1 au nombre 2, il faut modifier 2 bits !
| 1 | 0 | 1 |
| 2 | 1 | 0 |
Ce changement n’étant pas forcément simultané pour tous les bits, on passe par un nombre non voulu, parasite, qui peut être source d’erreurs.
Pour résoudre ce problème on peut employer le Code Binaire Réfléchi.
Notations
Des notations sont utilisées, notamment dans les langages informatiques, pour différencier sans ambiguïté les nombres binaires des autres :
- notation préfixée :
0b101(langage C et dérivés, Python), - notation suffixée : 101b, 101bin, 101 (2) (arithmétique)
Suite : le code hexadécimal
