Code binaire

 1)   Un peu d'histoire

    Le code binaire, bien que le ce nom sera donné plus tard, remonte au XVII siècle avec sa création par le pysicien, mathématicien et téologien Gottfried Wilhelm von Leibeniz d'origine allemande. Il reconnait avoir basé ses recherches sur l'héritage du fondateur de l'Empire Chinois "Fohy". Il s'intérresse aux régles d'arithmétiques que présentent le 0 et le 1. Il publia un article intitulé Explication de l'arithmétique binaire, qui se sert des seuls caractères 0 et 1. Il expliquera un quart de millénaire avant la naissance de l'informatique que ces formules ne sont que beautés.

    George Boole, mathématicien et philosophe Anglais, ayant vu le jour le 2 novembre 1815 est le créateur de la logique moderne, fondée sur une structure algébrique auquel on donnera le nom d'Algèbre de Boole. L'algèbre de Boole permet, à l'aide d'expressions mathématiques, de traduire des signaux (tout ou rien) et leur traitement par des variables et des fonctions logiques. Ceci repose sur des équations logiques en exprimant un "état" en fonction de conditions. On appelera ceci le binaire pur.

    Vers la fin des années 30, un certain Claude Shannon, de nationnalité américaine, popularise le bit, unité élémentaire d'information numérique inventé par John Tukey qui fut le premier à employer ce terme, qu'il nommera aussi Shannon.

    C'est le physicien Franck Gray qui, en 1953, proposera une version simplifiée du tableau du binaire pur en code binaire réfléchi.

 2)   Le bit

    A la différence de l'homme qui utilise une base décimale (0,1,2,3,4,5,6,7,8,9), l'informatique utilise le code binaire qui se base sur deux valeurs: le 0 et le 1. Un bit correspond à une de ces deux variables. Le bit, significant "binary digit" et noté b, est la plus petite unité d'information capable d'être manipulée par une machine numérique. On peut se représenter ces valeurs par des interrupteurs, le 0 voulant dire que l'interrupteur est ouvert et que le courrant ne passe pas et le 1 signifiant le passage de l'information par un interrupteur fermé.

Ansi, George Boole a créé trois types de circuits avec 2 interrupteurs différents:

-       Le "circuit NON": si l'un des interupteur est ouvert, l'autre est automatiquement fermé.

-       Le "circuit ET": le courant passe si et seulement si les 2 interrupteurs sont fermés.

-       Le circuit "OU": le courant passe si un des interrupteur est fermé.

Dans l'informatique, les interrupteurs sont en fait les diodes, les transistors,...

 

Dans l'Algèbre de Boole, les équations logique ont permis de constituer des "états". Ainsi, il est dit que pour un bit nous pouvons former 2 états :

-       1

-       0

 

Pour 2 bits, il est possible d'avoir 4 états :

-       00

-       01

-       10

-       11

 

Il est démontré que pour tout groupe de "a" bits, il est possible de trouver 2ª valeurs.

    Chaque bit possède une certaine valeur. Cette valeur est appelée poids. Elle dépend de la place du bit dans le nombre binaire. Le poids d'un bit augmente ainsi d'une puissance de 2 en allant de la droite vers la gauche.

 Exemple :

Nombre binaire

1

1

1

1

1

1

1

1

Poids

27 = 128

26 = 64

25 = 32

24 = 16

23 = 8

22 = 4

21 = 2

20 = 1

 

    On utilise le poids d'un octet pour faire des conversions et passer du binaire au décimal. Il suffit de multiplier le poids du bit par sa valeur. Un mot binaire tel que 0101 est égal au nombre 5 dans le système décimal.

 

Démonstration:

 23x0 + 22x1 + 21x0 + 20x1

= 8x0 + 4x1 + 2x0 + 1x1

= 5

 

On obtient ainsi pour les huits premiers chiffres décimaux le tableau suivant du code binaire pur: 

Nombre décimal

Mot en binaire

Nombre de changements de valeurs

0

0

0

0

0 changement

1

0

0

1

1 changement

2

0

1

0

2 changements

3

0

1

1

1 changement

4

1

0

0

3 changements

5

1

0

1

1 changement

6

1

1

0

2 changements

7

1

1

1

1 changement

 Les chiffres en rouge montrent les valeurs ayant changées.

    Le code de Gray permet quand à lui une certaine simplification de ce tableau où il utilse un système de miroir. C'est pourquoi on lui a donné le nom de code binaire réfléchi.

Se tableau fonctionne comme expliqué ci-dessous :

-       On choisit un code de départ: 0 et 1

-       Puis, à chaque nouveau bit supplémentaire, on symétirse les resultants déjà obtenues.

-       Pour finit, on rajoute un 0 au début de chaque "ancien" nombre et un 1 devant chaque nouveau.

Démonstration:

 0 .0             0  .0        0  00      0  .00     0  000

 1 .1             1  .1        1  01      1  .01     1  001

       miroir->------                      2  .11     2  011

                   2  .1        2  11       3  .10     3  010

                   3  .0        3  10                    -------

                                                   4  .10     4  110

                                                   5  .11     5  111

                                                   6  .01     6  101

                                                   7  .00     7  100

 

 Code binaire réfléchi:


Nombre décimal

Mot en binaire

Nombre de changements de valeurs

0

0

0

0

0 changement

1

0

0

1

1 changement

2

0

1

1

1 changement

3

0

1

0

1 changement

4

1

1

0

1 changement

5

1

1

1

1 changement

6

1

0

1

1 changement

7

1

0

0

1 changement

 

3)    L'octet.

    L'octet est le regroupement de 8 bits, étant une unite d'information, permet le stockage d'un caractère comme un chiffre ou une lettre. Appelé aussi byte et de signe B, le plus petit octet possible est l'octet 0000 0000 (avec un poids égal à 0) et le plus grand est 1111 1111 d'un poids équivalent à 255. L'octet permet ainsi 256 combinaisons différentes.

 

   On pourra aussi utiliser des unités d'informations composées de 16 bits appelées mot ( en anglais word) mais aussi de 32 qui sont appellées double mot ( double word en anglais).

4)    Le kiloOctet, MégaOctet, GigaOctet et le TéraOctet 

    Le kilooctect (ko ou kB) comme le Mégaoctet (Mo ou MB), le Gigaoctet (Go ou GB) et le Téraoctet (To)  est un système de simplification pour la lecture de certaines quantités d'octet.

    Avant 1998, un kilooctet était équivalant à 1024 octets mais depuis décembre de cette même année, l'oganisme international IEC (International Electrotechnical Commission) à décrété que dorénavant un ko serait égale à 1000 octet. Nous avant donc se tableau suivant:

-       Un kilooctet (ko ou kB) = 1000 octets

-       Un Mégaoctet (Mo ou MB) = 1000 ko = 1 000 000 octets 

-       Un Gigaoctet (Go ou GB) = 1000 Mo = 1 000 000 000 octets 

-       Un Téraoctet (To) = 1000 Go = 1 000 000 000 000 octets 

 

Mais il reste encore de nos jours des logiciels et même certains systèmes d'exploitation qui utilise encore l'ancienne notation :

-       Un kilooctet (ko) =1024 octets

-       Un Mégaoctet (Mo) = 1024 ko = 1 048 576 octets

-       Un Gigaoctet (Go) = 1024 Mo = 1 073 741 824 octets

-       Un Téraoctet (To) = 1024 Go = 1 099 511 627 776 octets

    Les unitées de cette ancienne notation ont été remplacés respectivement par kibioctet (kio ou kiB), Mébioctet (Mio ou MiB), Gibioctet (Gio ou GiB) et Tébioctet (Tio ou TiB).

5)    Quelques operations simples

 A.   L'addition

 L'addition binaire suit les memes régles que les additions decimales.

Exemple:

 

     0 1 1 0 1

+  0 1 1 1 0

__________

     1 1 0 1 0

 

B.    La multiplication

 La table multiplication en binaire possède la propriété suivante :

0x0=0

0x1=0

1x0=0

1x1=1

 Les règles de multiplication binaire suivent les règles de la multiplication décimale.

Exemple:

 

         0 1 0 1

     x  0 0 1 0

      ________

         0 0 0 0

      0 1 0 1 -

   0 0 0 0 -  -

0 0 0 0 -  -  -

___________

0 0 0 1 0 1 0

 

 

Créer un site gratuit avec e-monsite - Signaler un contenu illicite sur ce site