7 commentaires

Comprendre les unités de mesure informatique

Admettons-le, les unités de mesure en informatique, ça a toujours été le b**l. Entre le disque dur qui ne fait pas la taille annoncé une fois connecté à l’ordinateur, la vitesse de connexion à Internet qui ne correspond pas du tout à l’offre du fournisseur et j’en passe, c’est à n’y rien comprendre. Tentons de clarifier tout cela !

Bit et octet

Au commencement était le bit. Le bit est la plus petite unité de mesure d’information numérique. Cette unité ne peut contenir que deux valeurs : 0 ou 1. Très proche du fonctionnement de l’électronique sous-jacent, elle correspond à une tension ou une absence de tension dans les transistors.

L’homme utilise principalement la base 10 car il a dix doigts, c’est ainsi plus aisé pour lui de compter dans cette base. En informatique, c’est la base deux – le binaire – qui a été retenue car elle correspond au fonctionnent de l’électronique utilisé dans l’informatique. D’ailleurs bit est la contraction de BInary digIT. Il est symbolisé par le “b” minuscule.

Bien que le bit constitue l’unité de base en informatique, sa faible capacité – il ne peut contenir que 2 valeurs – ne lui permet pas de représenter une quantité signifiante de donnée à lui seul. Il faut bien évidemment plusieurs bits pour représenter une valeur ayant un sens.

Par exemple, au début de l’informatique, la plupart des plateforme utilisaient 7 puis 8 bits pour coder les caractères alphabétiques (plus les chiffres et la ponctuation) – vous pouvez jeter un œil aux commentaires pour plus de détail à ce sujet. On s’est donc dit que les groupes de 8 bits semblaient plutôt adaptés pour représenter la plus petite quantité d’information signifiante – en l’occurrence un seul caractère.

C’est ainsi que le 8ème jour naquit l’octet, ou byte en anglais. Un octet est simplement un groupe de 8 bits et il représente la plus petite quantité d’information avec laquelle travaillent les composants et périphériques de l’ordinateur (RAM, disques dur…).

L’octet est donc l’unité à laquelle nous somme le plus confronté lorsqu’il s’agit de décrire la taille ou capacité d’informations numérique. Un octet peut représenter 28, soit 256 valeurs, de 0 à 255 en valeurs décimales. Le symbole de l’octet est le “B” majuscule, ou le “o” pour octet en France.

Les multiples

Jusque là, tout va à peu près bien. La plus petite unité de valeur est le bit, il ne peut avoir que deux valeurs, ce qui ne permet par de représenter une information qui a du sens. On parle donc plus communément en octet, qui est un groupe de 8 bits, il peut avoir 256 valeurs et permet de représenter une petite quantité d’information.

Pas de confusion possible entre les deux car une image de 5Mo (mégaoctet) fait tout de suite 40Mb (mégabit). Là où les choses se compliquent c’est justement lorsque l’on parle en kilo, méga, giga, tera et plus.

En effet, le système international (SI) définit chacun de ces préfixes comme valant 1000 fois le précédant. Ainsi, dans le système métrique, 1km est égal à 1000m et ainsi de suite.

En informatique en revanche, comme la base est en base 2, il faut que les multiples soient des multiples de 2, soit 1024 (210) et non 1000.

Cette application des préfixes n’étant pas compatible avec le SI, il y a donc deux standards : les préfixes du SI (décimal) d’une part et les préfixes de l’IEC (binaire) d’autre part.

Afin de différencier les deux standards, chacun possède sa notation propre.

DécimalBinaire
ValeurPréfixe SIValeurPréfixe IEC
1000kkilo1024Kikibi
10002Mmega10242Mimebi
10003Ggiga10243Gigibi
10004Ttéra10244Titebi
10005Ppéta10245Pipebi
10006Eexa10246Eiexbi
10007Zzetta10247Zizebi
10008Yyotta10248Yiyobi

C’est pourquoi, lorsque vous achetez un disque dur de 500GB (ou Go), il ne fait plus que 467GiB lorsque vous le connectez à Windows. En effet, Windows choisit d’afficher les quantités selon le standard de l’IEC tandis que les constructeur de disques dur suivent la convention du SI en ce qui concerne les préfixes.

Cependant, tous les système d’exploitation n’expriment pas les quantités en suivant le standard de l’IEC. MacOS par exemple, depuis sa version 10.6 affiche les tailles des fichiers, dossiers et périphériques avec les préfixes décimaux (SI). Sur un Mac, un disque de 500GB fait 500GB, CQFD.

Domaines d’application

Si dans la majeure partie des cas (taille des support de stockage, vitesse de transfert…), les préfixes du SI prévalent, la taille des mémoires (cache et RAM) est toujours exprimée en valeur binaire. Ainsi, on achète 1024 ou 2048MB de RAM. On le réalise aujourd’hui moins car comme les systèmes sont équipés d’importantes quantités de RAM, on parle en Giga sans plus de précision. Ex : “J’ai 16GB de RAM sur mon PC”.

Depuis les débuts, on parle presque exclusivement d’octet, ou byte. C’est en effet la plus petite quantité d’information avec laquelle les périphériques travaillent. Cependant, il y a un domaine dans lequel on utilise plus souvent les bits que les octets : c’est lorsque l’on parle de vitesse de transfert.

Ainsi, lorsque vous téléchargez à 10Mb/s ou 10Mbps (notez bien le “b” minuscule). Vous téléchargez donc à une vitesse de 1,25Mo/s. Ne vous laissez pas piéger !

Voià, normalement, tout est éclairci. Il ne faut pas confondre bit et byte (ou octet), l’un vaut 8 fois plus que l’autre. Et il faut être vigilent entre les notations décimales et binaires. D’autant plus que bon nombre de logiciels affichent MB alors qu’il s’agit en réalité de MiB.

Pour obtenir un équivalent arrondi, il faut multiplier ou diviser (selon le sens) par 1.05 pour les méga et 1.07 pour les giga. 500GB = 500/1.07 = 467,3GiB, on retombe bien sur la valeur que nous avions utilisé dans l’exemple du disque dur.

Tout est maintenant limpide !

Commentaires

BEF dit –

Merci pour ce rappel clair et précis.

OlivierM dit –

> au début de l’informatique, la plupart des plateforme utilisaient 8 bits pour coder les caractères alphabétiques

En fait, non, pas exactement : les caractères étaient plutôt sur 7 bits au début (soit un entier signé). Il a fallu attendre l'ASCII étendu (les fameuses codepages) pour utiliser le bit supplémentaire, et gagner ainsi 128 nouveaux caractères (accentués, etc.) par codepage. Avec comme inconvénient des encodings pas toujours compatibles qui nous ont pourri la vie jusqu'à la généralisation d'Unicode et d'UTF-8.

Quant à savoir pourquoi on s'est calés sur des mots de 8 bits, je dirais que c'est surtout parce que ça tombait juste (puissance de 2), que ça permettait de stocker des pourcentages même en signé, et que ça contenait les 7 bits de l'ASCII "presque pile poil". 16 bits aurait été du gâchis, 4 insuffisants.

Mais il y a peut-être une meilleure explication.

Buzut dit –

Je m'étais basé sur l'explication du Wikipedia EN. Donc au début y'avait un peu de tout, du 4 bits, du 6, 7, 8 et même plus. Deux articles intéressants sur le Wiki anglosaxon à ce sujet :

- https://en.wikipedia.org/wiki/Binary-coded_decimal

- https://en.wikipedia.org/wiki/Word_(computer_architecture)

Mais on rentre sacrément dans les détails et je voulais garder les choses simples.

> Quant à savoir pourquoi on s’est calés sur des mots de 8 bits, je dirais que c’est surtout parce que ça tombait juste (puissance de 2), que ça permettait de stocker des pourcentages même en signé, et que ça contenait les 7 bits de l’ASCII « presque pile poil ». 16 bits aurait été du gâchis, 4 insuffisants.

Yes pour la puissance de deux. Je l'avais lu en faisant mes recherches pour l'article, mais je ne sais plus où. Comme l'électronique est en binaire, les architectures ayant des bytes autre que des puissances de 2 sont plus complexes à gérer.

Bref, toute une histoire ! Merci pour tes précisions en tout cas :)

Djan dit –

C’est pourquoi, lorsque vous achetez un disque dur de 500GB (ou Go), il ne fait plus que 467GiB lorsque vous le connectez à Windows.

En fait non il fait toujours 500GB mais Windows pour une raison inconnue affiche de fausse unités.Il va afficher les 467GiB comme étant des Go d'où la confusion.

Voir L’arnaque des tailles de disques dur expliquée et Dites adieu aux kilos en trop

Buzut dit –

Oui, c'est une vue de l'esprit. Sa capacité n'a pas changé. Le disque est vendu comme faisant 500GB ou Go ce qui correspond à 467GiB ou Gio.

Sur Linux et macOS, le disque est affiché comme faisant 500GB. Tout va bien. Sauf que Windows compte en préfixe binaire mais affiche les unités du SI ! Ce qui est totalement faux et porte à confusion.

f4b1 dit –

Merci pour les précisions, ca permet d'y voir plus clair au milieu de toutes ces dénominations !

tutox dit –

Un grand classique la confusion du bit/byte mais la faute à qui? :-) merci pour le rappel de l'explication claire.

Rejoignez la discussion !

Vous pouvez utiliser Markdown pour les liens [ancre de lien](url), la mise en *italique* et en **gras**. Enfin pour le code, vous pouvez utiliser la syntaxe `inline` et la syntaxe bloc

```
ceci est un bloc
de code
```