Retour

Représentation des données : types et valeurs de base

🎲 Quiz GRATUIT

📝 Mini-cours GRATUIT

Présentation

Les ordinateurs et les programmes que nous utilisons permettent de mémoriser, de transmettre et de transformer des nombres, des textes, des images, des sons, des vidéos, etc.

À une plus petite échelle, ces ordinateurs ne manipulent que des objets beaucoup plus simples : des 0 et des 1. 

La mémoire des ordinateurs est constituée d’une multitude de petits circuits électroniques qui, chacun, ne peuvent être que dans deux états.

Comme il fallait donner un nom à ces états, on a décidé de les appeler 0 et 1.

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

Notation à position et bases de numération

Depuis le Moyen Âge, on écrit les nombres entiers naturels en notation décimale à position. C’est-à-dire, pour écrire le nombre entier naturel $n$, on commence par imaginer $n$ objets, que l’on groupe par paquets de dix, puis on groupe ces paquets de dix objets en paquets de dix paquets, etc.

À la fin, il reste entre zéro et neuf objets isolés, entre zéro et neuf paquets isolés de dix objets, entre zéro et neuf paquets isolés de cent, etc. 

Chacun de ces nombres étant compris entre zéro et neuf, seuls dix chiffres sont nécessaires : $0$, $1$, $2$, $3$, $4$, $5$, $6$, $7$, $8$ et $9$.

Par exemple, l’écriture $1~964$ exprime un entier naturel formé de $4$ unités, $6$ dizaines, $9$ centaines et $1$ millier.

\[1~964 = 4\times10^0 + 6\times10^1 + 9\times10^2 + 1\times10^3\]

Le choix de faire des paquets de dix est arbitraire : on aurait pu tout aussi bien décider de faire des paquets de deux, de cinq, de soixante, etc.

La base deux

Les nombres exprimés en base deux utilisent deux chiffres : $0$ et $1$.

Exemples :

  • Le nombre binaire $11101$ est égal au nombre en base $10$ : $1\times2^0 + 0\times2^1 + 1\times2^2$ $+$ $1\times2^3 + 1\times2^4$ $= 1 + 0 + 4 + 8 + 16 = 29$.
  • Le nombre en base $10~ 1964$ est égal au nombre en base $2$ : $11110101100$ car $1964 = 2^2 + 2^3 + 2^5$ $+$ $2^7 + 2^8 + 2^9 + 2^{10}$.

Notion d’octet

Les circuits mémoires un bit sont souvent groupes par huit : les octets et on utilise souvent des nombres exprimés en notation binaire, c’est-à-dire en base deux, sur un, deux, quatre ou huit octets, soit $8$, $16$, $32$ ou $\rm 64~ bits$. 

Ce qui permet de représenter les nombres :

  • De $0$ a $\overline{1111~1111}$ $= 2^8 – 1 = 255$ sur un octet,
  • De $0$ à $\overline{1111~1111~1111~1111}$ $= 2^{16}– 1 = 65 ~535$ sur deux octets,
  • De $0$ à $\overline{1111~1111~1111~1111~1111~1111}$ $= 2^{24} – 1 = 16~777~ 215$ sur trois octets
  • De $0$ a $\overline{1111~1111~1111~1111~1111~1111~1111~1111}$ $= 2^{32} – 1 = 4~294~967~295$ sur quatre octets.

La représentation des entiers relatifs en complément à 2

On représente un entier relatif par un entier naturel. 

Si on utilise des mots de 16 bits, on peut représenter les entiers relatifs compris entre $–32~ 768$ et $32~ 767$ :

  • On représente un entier relatif $x$ positif ou nul comme l’entier naturel $x$. 
  • Et un entier relatif $x$ strictement négatif, comme l’entier naturel $x + 2^{16} = x + 65~536$, qui est compris entre $32~768$ et $65~535$.

Ainsi les entiers naturels de $0$ à $32~767$ servent à représenter les entiers relatifs positifs ou nuls, et les entiers naturels de $32~ 768$ a $65~535$ les entiers relatifs strictement négatifs.

Cette manière de représenter les entiers relatifs s’appelle la notation en complément à deux.

Avec des mots de seize bits, on peut donc représenter les entiers relatifs compris entre $– 2^{15} = – 32~768$ et $2^{15} – 1 = 32~767$. 

Plus généralement, avec des mots de n bits, on peut représenter les entiers relatifs compris entre $\rm – 2^{n-1}$ et $\rm 2^{n-1} – 1$.

La représentation des nombres à virgule

On utilise une représentation similaire à la ≪ notation scientifique ≫ sauf qu’elle est en base deux et non en base dix. 

Un nombre est représenté sous la forme $\rm s$ $\rm m$ $\rm 2^n$ où $s$ est le signe du nombre, $\rm n$ son exposant et $\rm m$ sa mantisse.

Le signe est $+$ ou $–$, l’exposant est un entier relatif et la mantisse est un nombre à virgule, compris entre $1$ inclus et $2$ exclu.

Par exemple, quand on utilise $\rm 64~bits$ pour représenter un nombre à virgule, on utilise $\rm 1~bit$ pour le signe, $\rm 11~bits$ pour l’exposant et $\rm 52~ bits$ pour la mantisse. 

Le signe $+$ est représenté par $0$ et le signe $–$ par $1$.

L’exposant $\rm n$ est un entier relatif compris entre $–1~024$ et $1~023$, on le représente comme l’entier naturel $\rm n + 1~023$, qui est compris entre $1$ et $2~046$. 

Les deux entiers naturels $0$ et $2~047$ sont réservés pour des situations exceptionnelles ($+\infty$, $–\infty$, $\rm NaN$).

La mantisse $\rm m$ est un nombre binaire à virgule compris entre $1$ inclus et $2$ exclu, comprenant $52$ chiffres après la virgule.

La représentation des caractères

Un texte est une suite de caractères.

Les caractères sont composés essentiellement de lettres minuscules et majuscules, de chiffres, de signes de ponctuation et de symboles mathématiques.
Pour représenter ces caractères, on attribue un nombre à chacun.

Code ASCII : American Standard Code for Information Interchange codage de 127 caractères

Le code ASCII est prévu initialement pour l’anglais.

Il est peu adapté pour d’autres langues dont le français qui utilisent des caractères latins (accents, cédille, ….)

Une extension du code ASCII, le code latin-1, a été créé qui contient 191 caractères pour les caractères latins.

Pour représenter les textes écrits dans d’autres alphabets (grec, russe, chinois, japonais, etc.), un format universel a été créé : Unicode

Unicode recense près de 110 000 caractères et associe un nom et un numéro à chacun. A priori, ce numéro se code sur 32 bits (UTF-32) ou moins avec compression (UTF-8).

La représentation des textes

Les textes en ASCII ou en Unicode sont des suites de caractères. 

Les éditeurs de texte sont les logiciels qui manipulent ces suites de caractères. 

Dans un éditeur de texte on peut aussi modifier :

  • La police de caractères – Times, Courier, etc. –, 
  • La taille des caractères – 11 points, 12 points, etc. –, 
  • Leur forme – romain, italique, etc. –, 
  • Leur graisse – maigre, gras, etc.

Les traitements de texte permettent des mises en pages élaborées (découpage en chapitres, sections, etc ….) caractéristiques que ne permettent pas les codages ASCII ou Unicode.

On peut également donner des informations sur le texte : son titre, ses auteur(s), sa date de création, sa langue, etc.

Ces informations sur le texte, et non du texte, sont appelées des méta-données.

L’un de ces formats enrichis, qui est utilisé notamment pour écrire des pages web est appelé le format HTML (Hyper Text Markup Langage).

Nomad+, Le pass illimité vers la réussite 🔥

NOMAD EDUCATION

L’app unique pour réussir !