Les gigabytes ne sont pas tous égaux

Les gigabytes (GBs pour simplifier) sont utilisés pour mesurer le capacité des disques durs ou des mémoires par exemple. Ils correspondent aux milliards de bytes que ceux-ci peuvent stocker en 2021, mais ils ne sont tous égaux et nous allons voir que ce que l’on appelle 1 GB de mémoire RAM ne correspond généralement pas exactement en capacité à 1 GB de disque dur.

16GB MicroSD contre 16GB RAM

La différence entre les deux vient de l’usage des puissances de deux pour exprimer la capacité des mémoires RAM et des puissances de dix pour exprimer celle des disques durs. Les deux sont correctes mais peuvent prêter à confusion.

Le Système international d’unités (SI) défini les préfixes qui servent à exprimer les puissances de dix, c’est à dire les dizaines, les centaines, les milliers, etc… Ces préfixes sont utilisés dans le language courant pour exprimer facilement des grandes quantités. On dit ainsi que la fréquence d’un microprocesseur est de 4 GHz par exemple et non pas 4000000000 Hz alors qu’il s’agit de la même chose. La table suivante inclus la liste des préfixes du Système international d’unités utilisés fréquemment en informatique et la valeur correspondante:

Puissance de 10 Préfixe Symbole Valeur
100     1
103 kilo k 1000
106 méga M 1000000
109 giga G 1000000000
1012 téra T 1000000000000
1015 péta P 1000000000000000
1018 exa E 1000000000000000000

Jusqu’ici tout va bien, et ce sont effectivement ces préfixes qui sont utilisés pour exprimer la capacité en bytes des dispositifs de stockage de données tels que les disques durs par exemple. Ainsi, lorsqu’un fabricant indique que la capacité d’un disque dur est 1 TB, cela correspond bien à 1000000000000 bytes. Attention cette taille correspond à la capacité avant le formatage, la capacité disponible après formatage sera moindre.

C’est maintenant que les choses se compliquent: pour des raisons historiques et liées au processus de fabrication, la taille des barrettes de mémoire RAM est une puissance de 2, mais pour simplifier, on utilise néanmoins les mêmes préfixes que ceux du Système International pour exprimer leurs capacités en bytes. On dit ainsi que 1 kB de RAM correspond à 1024 bytes (210 bytes) ou que 1 MB de RAM correspond à 1024 kB (220 bytes). Le problème c’est que 1024 ce n’est pas 1000 même si c’est une valeur assez proche. La table suivante vous permet de constater que la différence entre la taille de la mémoire RAM exprimée avec ces préfixes (multiples de 1024) et ceux du Système International (les multiples de 1000) augmente rapidement:

  Puissance de 2 Capacité en bytes Différence en %
1 kB 210 1024 2,40 %
1 MB = 1024 kB 220 1048576 4,86 %
1 GB = 1024 MB 230 1073741824 7,37 %
1 TB = 1024 GB 240 1099511627776 9,96 %
1 PB = 1024 TB 250 1125899906842624 12,59 %

 

Pour éviter cette confusion, la Commission électrotechnique internationale préconise l’utilisation des préfixes Ki (1024), Mi (1024 Ki), Gi (1024 Mi). etc… pour exprimer la taille des mémoires RAM… mais il faut bien se rendre à l’évidence, ceux-ci ne sont que rarement utilisés, et tout le monde utilise les GBs pour exprimer la taille des barrettes de RAM et non les GiBs.

Par conséquent, tous les GBs ne sont pas égaux, 1 GB de mémoire RAM correspond à 1073741824 bytes alors que 1 GB de disque dur correspond à 1000000000 bytes. Il faut juste le savoir.

Un dernier détail, tous les systèmes d’exploitation n’indiquent pas la capacité des disques durs de la même façon: si les versions récentes de MacOS ou de Linux utilisent correctement les préfixes de Système International avec des puissances de 10, les différentes versions de Windows utilisent par contre les préfixes basés sur des puissances de 2. La capacité affichée en GB pour un même disque dur ne sera donc pas la même selon le système d’exploitation, elle sera par contre toujours la même lorsqu’elle est exprimée en Bytes.

 

Cette page Les gigabytes ne sont pas tous égaux a été initialement publiée sur EatYourBytes