Quelle différence entre les Go et les Gio, et d’où vient-elle ?
-

Vous savez quelle est la différence entre les Mo et les Mio, les Go et les Gio (etc.) ? Oui, c’est une histoire de base 2 et 10, mais savez-vous d’où vient l’abus de langage qui nous fait parler de Go à la place des Gio ? Comme proposé par CharlesP. dans les commentaires, l’heure est à l’explication !
L’informatique est régie par les bits, l’unité de base qui peut valoir 0 ou 1. On les regroupe ensuite par paquets de huit pour former un octet. Un octet, ce n’est pas grand-chose, rapidement des préfixes ont été ajoutés : kilo, méga, giga, téra, péta, exa, zetta, yotta, ronna et quetta. Les deux derniers ont été ajoutés récemment.
Binaire vs décimal : fight
On parle, souvent par abus de langage, de ko, Mo, Go, To, Po en informatique alors qu’on devrait raisonner en base 2. Les ko, Mo, Go… sont en base décimale avec des puissances de 10, là ou les kio, Mio, Gio… sont en binaire avec des puissances de 2. Pourquoi binaire ? Car le bit informatique peut avoir deux valeurs.
En informatique, c’est un mélange des genres, où 1 ko (kilooctet) peut valoir 1 000 octets (10³) ou 1 024 (2¹⁰) octets. Pourtant, le Bureau International des Poids et Mesures (BPIM) définit précisément les préfixes du Système international d’unités (SI) : des multiples de 10.

Minute maître Capello : : « À l’exception des symboles da (déca), h (hecto), et k (kilo), tous les symboles des préfixes des multiples sont en majuscules et tous les symboles des préfixes des sous-multiples sont en minuscules. Tous les noms de préfixes sont en minuscules, sauf en début de phrase ».
Les préfixes SI « ne doivent pas être utilisés pour exprimer des puissances de 2 »
Le BIPM confirme s’il en est besoin que « les préfixes SI représentent strictement des puissances de 10. Ils ne doivent pas être utilisés pour exprimer des puissances de 2 (par exemple, un kilobit représente 1000 bits et non 1024 bits) ».
Il dresse aussi la liste des noms et symboles recommandés pour les préfixes correspondant à des puissances de 2. On retrouve Ki avec un K majuscule pour kibi (contrairement au ko avec k minuscule, vous suivez ?). Viennent ensuite les mébi, gibi, tébi, pébi, exbi, zébi, yobi, robi et quebi. Ces préfixes ont été présentés par l’International Electrotechnical Commission (IEC) en 1998, soit il y a presque 30 ans ! Ils ne font par contre pas partie du SI.

Le kilo c’était la facilité pour se faire comprendre de tous
Le NIST donne du contexte :
« Autrefois, les informaticiens ont remarqué que 2¹⁰ était très proche de 1 000 et ont commencé à utiliser le préfixe SI “kilo” pour désigner 1024. Cela a suffisamment bien fonctionné pendant une décennie ou deux, car tous ceux qui parlaient de kilo-octets savaient que ce terme impliquait 1024 octets. Mais, presque du jour au lendemain, un public beaucoup plus nombreux – presque tout le monde – s’est mis à acheter des ordinateurs. Le secteur de l’informatique a alors eu besoin de s’adresser aussi bien aux physiciens et aux ingénieurs, qu’aux gens ordinaires, dont la plupart savent qu’un kilomètre équivaut à 1 000 mètres et qu’un kilogramme équivaut à 1 000 grammes ».
C’était donc pratique, mais « le résultat est qu’aujourd’hui, “tout le monde” ne “sait” pas ce qu’est un mégaoctet ».
Le NIST continue son analyse : « Quand on parle de mémoire en informatique, la plupart des fabricants utilisent le mégaoctet pour désigner 2²⁰= 1 048 576 octets, mais les fabricants de périphériques de stockage utilisent généralement ce terme pour désigner 1 000 000 octets. Et si deux définitions du mégaoctet ne suffisaient pas, voici un troisième mégaoctet de 1 024 000 octets », utilisé avec les disquettes de 3,5".
Petit aparté : les disquettes avaient une capacité de 1 474 560 octets, soit 1 440 Kio, qui se sont transformés en 1,44 Mo, avec un « mégaoctet » hybride qui n’est ni un Mo ni un Mio.
Nous avons ainsi :
- 1 méga : 1 000 000 (SI)
- 1 méga : 1 048 576 (2²⁰)
- 1 méga : 1 024 000 (1 024 kilo ou 1 000 x 2¹⁰)
Un disque dur de 500 Go devrait donc correspondre à 500 000 000 000 octets sur la base du SI, mais en base binaire ce n’est plus la même chose : 500 000 000 000 / 1 073 741 824 (2³⁰)= 465,7 Gio.
La confusion est partout. Déjà, elle arrange les vendeurs de périphériques de stockage, puisque c’est toujours plus intéressant d’afficher 500 Go que 465 Go, ou bien 1 To à la place 931 Go, etc. Windows affiche des Go alors que ce sont en réalité des Gio.
Un exemple avec cette clé USB de « 16 Go ». Selon Windows, la capacité totale est de 15 523 115 008 octets ou 14,4 Go. Si on parle de Go, la réalité devrait être 15,52 Go. Si on parle de Gio alors on a bien 14,45. La clé est vendue pour 16 Go, elle fait 15,52 Go et Windows affiche 14,4 Go.
IBM propose un tableau de comparaison entre la valeur décimale (ko, Mo, Go…) et l’équivalent en binaire (Kio, Mio, Gio…). Un exemple pour comprendre le fonctionnement avec 100 exaoctets. En système décimal (exa), on est à 100 x 10¹⁸. Pour passer en exbioctets, on divise par 2⁶⁰ pour arriver à 86,7 Eio.


Source : next.ink
-
C’est mon client p2p qui m’avait mis cette évidence en pleine face.

-
Moi, c’est les fabricants de RAM et de disques dur.
