Le codage des nombres en informatique • Vocabulaire Et Histoire du Codage • Le binaire • Les opérations en binaire • Les différentes bases... Vers une généralisation • Le codage des entiers positifs... Et négatifs • Le codage des nombres décimaux
Vocabulaire Un bit : Il s'agit de la plus petite unité d'information manipulable par une machine numérique. Le poids : C'est la valeur d'un bit. Cette valeur dépend de la position du bit en partant de la droite, du plus faible au plus fort. Un octet : c’est une unité d'information composée de 8 bits. Il permet par exemple de stocker un caractère, tel qu'une lettre ou un chiffre. Une base : C'est une décomposition, qui permet l'écriture d'un chiffre d'un façon particulière suivant le numéro de la base
Histoire du binaire Dans la fin des années 30, Claude Shannon, mathématicien, démontra qu'avec des interrupteurs, on pouvait effectuer des opérations logiques en associant le nombre 1 au vrai (fermés) et 0 au faux (ouvert). Il s'est aidé des travaux de Boole. A eux deux, ils ont posé les prémices de l'informatique. En effet, à l'heure actuelle nos ordinateurs ne sont fait que de "transitors » qui gèrent l'état 0 ou 1.
C'est l'application des travaux de Shannon Le binaire Le codage de l'information est nommé base binaire. C'est avec ce codage que fonctionnent les ordinateurs. Il consiste à utiliser deux états (représentés par les chiffres 0 et 1) pour coder les informations. 1 signifie « vrai » et 0 signifie « faux ». C'est l'application des travaux de Shannon Les informations codées peuvent être des chiffres, mais aussi des lettres, et même des phrases.
Opérations dans le binaire Addition binaire : L'addition en binaire se fait avec les mêmes règles qu'en décimale : On commence à additionner les bits de poids faible (les bits de droite) puis on a des retenues lorsque la somme de deux bits de même poids dépasse la valeur de l'unité la plus grande (dans le cas du binaire : 1) cette retenue est alors reportée sur le bit de poids plus fort suivant... Multiplication : La table de multiplication en binaire est très simple : 0*0=0, 0*1=0, 1*0=0, 1*1=1. Il faut, pour visualiser simplement, poser les différentes opérations. Cela permet une meilleure compréhension.
Les différentes bases Il existe plusieurs bases : La base 2, la base 8 et la base 16. Le chiffre les caractérisant indique par quelle puissance un nombre que l'on veut transposez va être décomposer. Il indique également le nombre de caractère qui définissent la base : 2 pour la base 2 , le 0 et 1.Et 16 pour la base hexadécimale. 1101 en base B = 10 :1*10^3 + 1*10^2 + 0*10^1 + 1*10^0 = 1101 577 en base B = 8 :1*8^3 + 1*8^2 + 0*8^1 + 1*8^0 = 1101 13 en base B = 2 :1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 1101 On peut généraliser cela à une base n : en base n, on a besoin de n chiffres, de zéro à n-1. Et l'on décomposera notre chiffre en puissance de n.
Représentation des entiers positifs Pour représenter un entier positif en binaire il existe deux méthodes : -La méthode des puissances: en utilisant le poids de chaque bit (présentée ici), et la méthode des divisions on décompose notre nombre en différents paquets correspondant à chaque puissance de 2 (en base 2). Puis on ajoute les puissances de 2 manquantes. Et enfin on trouve le nombre en binaire en observant si il y a ou non la puissance de 2 multipliée par 0 ou 1 -L 2ème méthode est celle des divisions 26= 16 + 8 + 2 26= 1×16 + 1×8 + 1×2 26= 1×2^4 + 1×2^3 + 1×2^1 26= 1×2^4 + 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 26= 1×2^4 + 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 Pour passer du binaire, au décimal, on procède comme ceci : -On compte le nombre de rang du nombre -On multiplie par 2^n le rang n (0 à droite) -Enfin on remplace les puissances de 2 par leurs valeurs et on les ajoute.
Représentation des entiers négatifs Les nombres négatifs Exemple : le nombre 14, codé sur 8 bits est représenté ainsi : 00001110 et (–14) ainsi : -inversion des bits : 11110001 -ajout d’une unité : 11110010 -résultat : 11110010 Remarque : le résultat intermédiaire, 11110001, est appelé « complément à 1 ». Faisons la somme de 14 et de (–14), de la même façon que s’il s’agissait d’entiers positifs : 00001110 + 11110010 = 100000000 Le résultat étant codé sur 8 bits, le 1 situé à gauche n’est pas pris en compte. On obtient donc 14 + (-14) = 0.
Représentation des nombres décimaux Codage de la base 10 à la base 2 La partie entière se code comme expliqué précédemment: soit grâce aux divisions, soit grâce aux puissances. La partie décimale se code grâce à des multiplications (par 2 en base 2). Et si le résultat de la multiplication est >1 ou=1 alors on ajoute un 1 et inversement si le résultat est <1. Par exemple : 0,125 de base 10 → base 2. Nombre Multiplicateur Résultat Partie entière 0,125 2 0,250<1 0,250 0,5<1 0,5 1=1 1 Réponse: 0.125= 0.001
Représentation des nombres décimaux Codage de la base 2 à la base 10 Pour passer de la base 2 à la base 10, on utilise la même technique que pour une nombre sans virgule. Il suffit simplement de passer avec les exposants négatifs lorsque l'on passe dans la partie décimale. Ici par exemple : 8 + 0 + 2 + 0 + ½ + 0 + ¼ = 10,625