Le Hollandais Volant

1ko = 1024 octets... La vérité!

On dit souvent que 1 kilo-octet = 1024 octets. Et bien c'est faux!


Le préfixe "kilo" apposé à une unité multiplie la quantité par 1000. Ainsi 1kilogramme vaut 1000 grammes. Alors pourquoi en serait-il différemment avec l'unité "octet"? Ainsi, moi aussi je dis que 1ko = 1000o.

L'origine de cette erreur vient du fait que l'on a (à tort) pris l'habitude de mettre 1ko=1024o par ce qu'en informatique le système n'est pas décimal mais binaire. On a simplement remarqué que 210 (= 1024) valait environ 1000. L'approximation qui en résultait est 1024=1000...!

En fait, depuis 1998, cette ambiguïté fut levé par l'insertion des préfixes spéciaux pour ce cas, ainsi ne devons nous plus dire 1024 octets = 1ko mais 1024 = 1kio à lire "kibi-octet" (kilo binary bit).

Ainsi, en informatique, on prend les "kilo-octets" "méga-octets" "giga-octets" valant respectivement (103)1, (103)2, 103)3 octets et les "kibioctets", "mébioctets", "gibioctets" valant respectivement (210)1, (210)2, 210)3.

Si vous avez déjà acheté un nouveau disque dur vous avez surement du remarquer une différence entre l'espace disque affiché et l'espace disque que Windows affichait : par exemple, un disque dur de 320Go (affiché sur l'étiquette) donne dans le poste de travail "298,02Go".

En fait, si vous lisez sur l'étiquette collé sur le disque dur c'est écrit 1Go=1000 000 000 octets et l'étiquette à raison! Le disque dur contient bien les 320 milliard d'octets! Or l'ordinateur compte en Gio et non pas en Go!

Lui, pour afficher le nombre de Gio, il fait 320 000 000 ÷ (1024×1024×1024) = 298! D'où la différence!

Le constructeur du disque utilise à son avantage cette différence pour augmenter artificiellement la valeur : 320 parait BEAUCOUP plus gros que 298.

Ce serait plutôt Windows qu'il faut blâmer : comme on ne peut pas changer la manière de compter de l'ordinateur, il faut changer le préfixe : la norme est Gio et non Go. Linux, lui, me dit bien Gio, Mio, kio pour la taille de tous mes fichiers.

Que ce soit Windows XP, Vista ou même Seven, l'erreur n'est pas corrigée.

Si pour l'instant cette "différence" est avantageusement utilisé par les constructeurs de disques, ceux ci vont bien devoir changer leur manière de compter : Ce que je calcule ici, c'est l'erreur commise en mettant kibi- là où il faut mettre -kilo (l'inverse crée aussi une erreur, du même ordre de grandeur)

  • Au niveau du kilo-octet : on obtient une erreur de 2,4%. C'est encore "acceptable" pour le grand public : par exemple une image de 641 000 octets sera affiché de 626 ko (alors qu'il faudrait dire 626kio).
  • Mébi-octet : 4,9%.
  • Gibi-octet : 7,4%. (Ça commence à devenir signifiant : un disque de 1 000 000 000 octet sera affiché 0,931Go.)
  • Tébi-octet ((210)4 octets) :10%!
  • Pebi-octet ((210)5octets) : 13%!
  • ...
  • (210)10 octets : 27%! (Bon avant d'avoir un disque de 1 267 milliard de milliard de gigaoctet, vous me direz que l'on a du temps...!!
  • (210)30 octets : l'érreur est de 104% : on passe du simple au double! Alors ne me dites plus que l'on peut négliger cette erreur!

On remarque l'on crée rapidement des erreurs énormes. Alors que faire? Le mieux est de se mettre en conformité avec le standard internationnal : l'organisation chargé des normes est le bureau international du poids et mesures et il dit la même chose.