[TUTO] Taille de stockage affichée par Windows: inférieure à celle indiquée par le constructeur

Aujourd’hui j’écris ce tutoriel (ou plutôt ce mini-cours d’informatique) car j’en ai vraiment ras-le-bol de voir des gens se plaindre du fait que le constructeur de leur clé USB, de leur disque dur, etc leur mente sur la capacité totale de ces périphériques de stockage. Je suis sûr que cela vous est déjà arrivé de vous demander pourquoi Windows vous indique que votre clé USB ne peut contenir que 29Go au lieu des 32Go dont parlait le constructeur : eh bien aujourd’hui vous allez enfin savoir pourquoi cette différence existe ! Quand je dis que j’en ai ras-le-bol, ce n’est pas des pauvres utilisateurs néophytes qui eux n’y peuvent rien et se fient à ce que leur dit Windows… Car oui, c’est bien Windows qui est la cause de ce problème !

L’unité de taille en informatique : l’octet

Comme vous le savez, l’unité de taille pour indiquer le poids d’un fichier est l’octet, que l’on peut également appeler byte (tout du moins de nos jours… car il fut un temps ou les bytes ne contenaient toujours pas 8 bits comme le fait l’octet). Attention à ne pas le confondre byte et bit ! Car 1 octet = 1 byte = 8 bits. Ce que tout le monde sait également c’est la conversion d’unité d’octet en kilo-octet (Ko) en méga-octet (Mo) en giga-octet (Go), etc… dit préfixes décimaux. Je vous mets ce petit rappel, ça ne mange pas de pain:

1Ko = 103 octets = 1 000 octets
1Mo = 1 000Ko = 106 octets = 1 000 000 octets
1Go = 1 000Mo = 1 000 000Ko = 109 octets = 1 000 000 000 octets
1To = 1 000Go = 1 000 000Mo = 1 000 000 000Ko = 1012 octets = 1 000 000 000 000 octets
(après il y a téra, exa puis zetta et yotta-octet mais on va peut-être s’arrêter là quand même…)

Ainsi ce sont toujours des puissances de 10 : pour passer à l’unité du dessus il suffit de diviser par 103 = 1 000 ou bien de multiplier par la même chose si l’on veut passer à l’unité du dessous.

Windows affiche-t-il vraiment les bonnes unités ?

Je vais prendre ici l’exemple de ma clé USB de 32Go mais Windows m’indique qu’elle ne possède que 29.8Go de capacité totale de stockage. Cependant, vous avez peut-être remarqué que sa capacité en octet, dans les propriétés de la clé, est bien d’environ 32*109 octets, ce qui donne bien 32Go. Et là vous allez me dire : pourquoi diable Windows indique alors qu’elle ne possède que 29.8Go de capacité totale si en octet tout va bien ?! Eh bien la réponse est simple : Windows n’affiche pas les poids en Go, Mo, Ko, etc comme il nous le dit mais en Gio, Mio, Kio, etc… Windows n’utilise donc pas les préfixes décimaux bien qu’il indique que c’est le cas ! (Oui oui, Windows dit vraiment de la merde !) Mais il utilise ce qu’on appelle les préfixes binaires.

Tuto 02

Les préfixes binaires

Il n’existe pas seulement les préfixes décimaux que l’on a vus plus haut, il y a également les préfixes binaires. On a donc des Kilo binaire d’octet (Kibioctet ou Kio), des Méga binaire d’octet (mébioctet ou Mio), etc etc. Contrairement aux préfixes décimaux, ce ne sont pas des puissances de 10 (décimaux -> 10) mais des puissances de 2 (binaire -> 2). On a ainsi les conversions suivantes :

1Kio = 210 octets = 1 024 octets
1Mio = 1024Kio = 220 octets = 1 048 576 octets
1Gio = 1 024Mio = 1 048 576Kio = 230 octets = 1 073 741 824 octets
1Tio = 1 024Gio = 1 048 576Mio = 1 073 741 824Kio = 240 octets = 1 099 511 627 776 octets

Ainsi ce sont toujours des puissances de 2 : pour passer à l’unité du dessus il suffit de diviser par 210 = 1024 ou bien de >multiplier par la même chose si l’on veut passer à l’unité du dessous.

On vérifie tout ça avec ma clé USB

Maintenant que vous savez à quoi correspond 1Gio, on va convertir le nombre d’octets que peut contenir ma clé USB en Gio : le but est donc de retomber sur les 29.8Gio indiqués par Windows. On a donc :

32 053 882 880 octets (voir image ci-dessus) -> On divise par 1024 -> = 31 302 620Kio
31 302 620Kio -> On divise par 1024 -> ~= 30 569Mio
30 569Mio -> On divise par 1024 -> = 29.8Gio

On retombe bien sur ce qu’indique Windows ! Ainsi Windows affiche non pas des Go, Mo, Ko, etc mais des Gio, Mio, Kio,… Windows ne suit pas le système international des unités, il n’en fait qu’à sa tête et confond donc Go et Gio et cela encore sous Windows 8…

Et les autres systèmes d’exploitation ?

On a donc vu que Windows se plante, en est-il de même pour les OS Linux et Mac ? Eh bien non ! Je n’ai pas de Mac chez moi mais il semblerait qu’il ne se plante pas comme vous pouvez le voir si dessous, et convertit correctement les octets en Mo :

Astuce-Mac-du-jour-débutants-connaître-la-taille-dun-fichier3

Linux ne se trompe pas non plus, cependant selon les distributions soit il convertit correctement en Go soit il convertit tout comme Windows en Gio MAIS affiche bien l’unité Gio à la fin ce qui est tout a fait correct, comme ci-dessous :

Tuto 03

Conclusion: Malgré ma préférence pour Windows, des fois il peut s’avérer vraiment à la rue…

nicoPlaYs

2 Comments

  • Je viens enfin de comprendre pourquoi mon tera s’est fait niqué 60 Go… ou 60Gio.. Oh je sais plus. Excellent tuto super bien expliqué, merci ! 🙂

  • Merci pour ce tuto. toujours d’actualité !

Laissez votre impression !

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.