Codage binaire des nombres

Objectifs

  • Savoir coder un nombre entier naturel en base 2 et savoir le décoder en base 10.
  • Connaître les notions de bit et d’octet.
  • Comprendre la représentation binaire des autres types de nombres.

Nous avons vu comment les images en noir et blanc sont numérisées sous la forme d’un tableau de 0 et de 1.

Les processeurs d’un ordinateur sont composés de transistors : ces composants électroniques fonctionnent comme des interrupteurs : soit ils laissent passer le courant, soit ils ne le laissent pas passer.

Pour différencier ces deux états, on utilise les chiffres 0 et 1, mais on pourrait tout aussi bien utiliser les lettres A et B, les mots froid et chaud ou faux et vrai.

Une telle valeur, 0 ou 1, s’appelle un booléen, un chiffre binaire ou encore un bit (binary digit).

L’état d’un circuit, composé de plusieurs de ces transistors, se décrit par une suite finie de 0 et de 1, que l’on appelle un mot binaire.

Par exemple, le mot 100 décrit l’état d’un circuit composé de trois transistors respectivement dans l’état 1, 0 et 0.

La base 2, qui n’utilise que les chiffres 0 et 1 pour représenter les nombres est donc particulièrement adaptée à la représentation numérique des nombres.

Codage des entiers naturels

Nous utilisons couramment le codage des nombres entiers en base 10.

Rappelons que, l’écriture \(n = 2013\) (base 10) signifie que :

\[n = 3 \times 10^0 + 1 \times 10^1 + 0 \times 10^2 + 2 \times 10^3\]

Question

Exercice 1 : Passage de la base 2 à la base 10

  1. Soit \(n = 110\) (base 2). Par analogie avec la décomposition décimale rappelée ci-dessus, écrire \(n\) en base 10.
  2. Même question avec \(n = 1101\) (base 2).

Pour obtenir la représentation en base 2 d’un nombre donné en base 10, on effectue une succession de divisions euclidiennes par 2, jusqu’à obtenir un quotient égal à 0.

Exemple de l’écriture en base 2 de 11 (base 10) :

image

On obtient 11 (base 10) = 1011 (base 2).

Question

Exercice 2 : Passage de la base 10 à la base 2

  1. Déterminer l’écriture en base 2 du nombre \(n = 2014\) (base 10).
  2. Même question avec \(n = 256\) (base 10).

Question

Exercice 3 : Quelques propriétés

  1. Que se passe-t-il lorsqu’on multiplie par 2 un nombre écrit en base 2 ? En déduire sans calcul supplémentaire l’écriture en base 2 de 22 (base 10).
  2. Dans la mémoire des ordinateurs, les bits sont souvent regroupés par groupes de 8 : les octets. Quel entier maximal peut-on coder en base 2 sur un octet ? sur deux octets ? sur \(n\) bits ?

Les entiers relatifs

Il faut à présent coder le signe du nombre, en plus de sa valeur. La représentation des nombres entiers relatifs dépend du nombre de bits utilisés.

Pour une représentation à \(n\) bits, on peut représenter les entiers relatifs \(x\) compris entre \(-2^{n-1}\) et \(2^{n-1}-1\) de la façon suivante :

  • Si \(x\) est positif ou nul, il est représenté par lui-même ;
  • Si \(x\) est strictement négatif, il est représenté par \(x + 2^n\).

Question

Exercice 4

  1. Quels nombres relatifs peut-on coder sur 32 bits ?
  2. Déterminer la représentation binaire de \(-52\) (base 10) dans un codage sur 8 bits.
  3. Trouver la représentation décimale des entiers relatifs dont la représentation binaire sur 8 bits est : 0111 1111 (base 2) et 1000 0001 (base 2).