Représentation de l'information sous forme de bit

Class'Code - L’informatique et ses fondements

Chargement de la playlist en cours...

Le code binaire, qu'est-ce que c'est ?

Pourquoi coder de l'information ? On a autour de nous énormément d'informations différentes, que ce soit des images, des sons, des bruits, la température, la quantité d'argent dans notre porte-monnaie, notre âge, des dates, etc. Ces informations sont très diverses, plus ou moins structurées. On les capte soit par nos sens humains, soit par des instruments. Comment représenter ces informations pour les mettre dans l'ordinateur ? On les numérise, les code numériquement, c'est-à-dire qu'on lestraduit en nombre.

Opération sur les bits

Au niveau électronique, dans les ordinateurs, il y a du courant électrique qui va soit passer, soit ne pas passer. Les fils peuvent donc soit contenir du courant, soit ne pas en contenir. Les ordinateurs utilisent ce système binaire pour coder : « Si le courant ne passe pas, ce sera un 0, si le courant passe, ce sera un 1 ». C'est de là que vient le nom « bit » pour « Binary Digit », donc un bit vaut 0 ou 1 selon si le courant passe ou non. 

Ces bits vont permettre de faire des opérations. L'opération la plus simple sera d'utiliser ce qu'on appelle un transistor. C'est un des composants de base de l'électronique. Le transistor, c'est un robinet qui soit laisse passer le courant, soit ne le laisse pas passer. Pour commander ce robinet, il y a une 3e borne sur laquelle va arriver du courant. Quand du courant arrive, le robinet va laisser passer le courant, et quand du courant n'arrive pas, le robinet va fermer le courant.

Les transistors permettent de faire plein de choses, notamment des opérations sur les bits en utilisant ce qu'on appelle des portes logiques. Ce sont différentes arrivées de courant qui vont être combinées pour calculer une sortie en fonction des arrivées. On peut faire des portes logiques de type « et », « ou » ou « non », etc. Par exemple, une porte « ou » va recevoir 2 entrées qui vont contenir du courant ou non. Elle va générer une sortie qui va contenir du courant si une des 2 entrées contient du courant ou si les 2 entrées contiennent du courant. Donc, c'est un « ou » logique qu'on effectue entre ces 2 entrées. On peut faire d'autres opérations, avec des portes « et » qui vont laisser passer uniquement si les 2 entrées sont activées, et d'autres choses. On peut faire des choses encore plus compliquées, comme des additionneurs de bits qui vont permettre d'ajouter deux valeurs, 0 ou 1, pour calculer le résultat.

Comment Coder les nombres ?

Avec les bits, on est limité à 2 valeurs : 0 ou 1. Il y a besoin d'assembler des bits pour coder des nombres plus grands. Par exemple, un octet est en fait un assemblage de 8 bits. Chacun des bits peut valoir 0 ou 1, pour 256 valeurs possibles (2 puissance 8, parce que chacun des bits a 2 valeurs possibles). Avec ce genre d'assemblage, on peut coder plein de choses.
Si on veut coder un âge, on peut dire « Un âge, c'est en gros entre 0 et 127 », ce qui peut se coder avec 7 bits. Si on veut coder une température, c'est un peu plus compliqué parce que la température va pouvoir varier beaucoup. Elle peut être négative, comporter une virgule... Il faut donc étendre les nombres manipulés par l'ordinateur, pour avoir une plage de valeurs beaucoup plus grande : ce sera des nombres entiers de différentes tailles, éventuellement des nombres qu'on va appeler « flottants » (nombres décimaux) ou des nombres négatifs, etc. Le programmeur, lui, doit s'assurer de donner de façon très précise à l'ordinateur les bonnes unités (temps, distances...)

Comment coder le texte ?

L'une des premières façons de coder une lettre est d'utiliser les cases, qui sont soit blanches soit noires. Si le bit est à 0, on considère que la case est noire, si le bit est à 1, la case sera blanche. Cette technique permet de représenter l'affichage d'une lettre en décrivant chacun des points à l'écran. Le problème, c'est qu'il faut ajouter de l'information pour préciser à quoi ressemble la lettre en pratique (nombre de colonnes, de lignes, couleur, etc.) 

L'autre technique consiste à attribuer à chaque lettre un numéro. Le code ASCII, défini il y a très longtemps, permet de donner un numéro à chacune des lettres, les minuscules, les majuscules, les chiffres, la ponctuation... Il y a environ une centaine de caractères possibles. En pratique, le code ASCII est codé sur 8 bits, pour 256 valeurs possibles. Pour les langues asiatiques, 256 valeurs ne suffisent pas. On utilisera donc Unicode. Le principe reste le même, avec un numéro par caractère possible.
 

À retenir

  • Le courant électrique est utilisé dans l'informatique actuelle pour coder les bits avec des valeurs de 0 ou 1.
  • On va assembler ces bits pour créer des nombres plus grands, par exemple en utilisant un octet qui est constitué de 8 bits, qui permet d'avoir des nombres jusqu'à 255.
  • On va pouvoir faire des nombres plus grands en ajoutant encore plus de bits, ou coder d'autres choses comme les lettres.
  • Les circuits électroniques savent faire des opérations avec ces nombres, parce que les ordinateurs ont été conçus pour. Par contre, ils ne savent pas ce qu'ils manipulent, il faut donc leur indiquer la nature des nombres.

Producteur : Inria

Auteur : Liliane Kahmsay / Florent Masseglia

en partenariat avec
Class'Code

Class’Code est un programme de formation gratuit à destination de toutes celles et ceux qui désire initier les jeunes de 8 à 14 ans à la pensée informatique. Retrouvez toutes les informations sur classcode.fr et les Moocs sur openclassrooms.fr

Publié le - Mis à jour le 25-06-2019

Recommandations