Cookies de statistiques et de publicité
Nous utilisons des cookies de statistiques et de publicité, tous deux destinés à Google. Si vous refusez, rien ne change visiblement pour vous.Aller à la page de confidentialité
1 KiB = 0,0009765625 MiB
Saisissez une valeur et la conversion de kibioctet en mébioctet suit pendant que vous tapez. Le facteur vaut exactement 0,0009765625 : c’est ce que représente 1 Kio en Mio. Le calcul se fait sur votre propre appareil ; une fois la page chargée, elle n’interroge plus aucun serveur.
512 Kio is 0,5 Mio
— un demi-mébioctet.
4 Kio is 0,003906 Mio
— une page de mémoire sur la plupart des systèmes.
716800 Kio is 700 Mio
— un CD audio, d’où vient le chiffre.
8192 Kio is 8 Mio
— un bloc de mémoire tel qu’un programme en réserve.
| Kio | Mio |
|---|---|
| 10 | 0,009765625 |
| 20 | 0,01953125 |
| 50 | 0,048828125 |
| 100 | 0,09765625 |
| 500 | 0,48828125 |
| 1000 | 0,9765625 |
| 5000 | 4,8828125 |
| 10000 | 9,765625 |
Convertir des Kio en Mio
Un kibioctet vaut exactement 1 024 octets. Le nom a été introduit en 1998 pour que « kilooctet » puisse de nouveau valoir 1 000 — l’habitude n’a jamais tout à fait cédé.
Un mébioctet vaut 1 024 kibioctets, soit 1 048 576 octets. Les outils Linux et les chiffres de mémoire désignent presque toujours cela, même quand ils écrivent « Mo ».
Dans ce sens, l'opération est une division, et par un nombre entier : 1 024 de ces unités entrent dans un mébioctet sans reste. Le seul inconvénient, c'est que les résultats tombent en fractions — un tiers, un douzième — au lieu des chiffres ronds que donne le sens inverse.
Rien ne se perd pour autant : la division est exacte. Si votre résultat refuse de tenir en place en décimal — 0,0833… et compagnie —, c'est la fraction qui transparaît, pas une erreur qui s'installe.
Un KiB vaut 1 024 fois l'unité du dessous ; un kB, 1 000. Sur cette page, c'est l'écart entre 0,001 MiB et 0,001 MiB — 2,4 % — et il grandit à chaque palier : négligeable sur une photo, visible sur un disque dur.
Le mystère de l'espace disque manquant tient tout entier là-dedans, et sur cette page il vaut 2,4 %. Un disque vendu en kB contient exactement ce qui est annoncé ; Windows divise ensuite par 1 024 au lieu de 1 000, garde le nom décimal, et affiche 0,001 MiB là où la boîte annonçait 0,001 MiB. macOS compte ces tailles en unités décimales depuis 10.6, d'où le même disque qui paraît de deux tailles sur deux machines — rien n'a disparu et personne n'arrondit : les mêmes octets portent deux noms.
La commande qui a produit le nombre compte plus que l'arithmétique qui suit. Le du de GNU compte en blocs de 1 024 octets par défaut, donc du -sk build/ répond à la question de l'espace que le système de fichiers réserve, pas à celle du volume de données réellement présentes. ls -l affiche le second en octets, et les deux chiffres diffèrent couramment d'un facteur plusieurs pour un même répertoire.
Cela compte dès que le chiffre en Mio entre dans une décision. Dimensionner une archive, une couche d'image de conteneur ou un quota de téléversement est une question de contenu et demande la taille apparente ; dimensionner une partition ou chercher pourquoi un volume s'est rempli est une question d'allocation et demande ce qu'affiche du. Convertir le mauvais en Mio donne une réponse arithmétiquement parfaite et portant sur la mauvaise quantité. stat tranche pour un fichier : la ligne Size est la longueur en octets, la ligne Blocks est l'allocation comptée en blocs de 512 octets quel que soit le système de fichiers, et diviser la seconde par deux donne des kibioctets. Là où les deux divergent de plus d'un bloc, le fichier est creux ou le système de fichiers le comprime.
Les préfixes sont des contractions : kilobinary devient kibi, megabinary devient mebi, gigabinary devient gibi. La CEI les a adoptés en 1998 comme amendement à la norme IEC 60027-2, l'IEEE les a repris dans IEEE 1541 en 2002, et ils figurent aujourd'hui dans ISO/IEC 80000-13. L'idée était que « kilooctet » puisse redevenir mille octets dans tous les contextes, avec la valeur binaire portant un nom propre.
L'adoption est allée dans un sens et s'est arrêtée. Les outils Linux et BSD, la plupart des normes, plusieurs hyperviseurs et Kubernetes utilisent les préfixes IEC ; le marketing du stockage, Windows, les tailles visibles de macOS et la documentation de la plupart des langages de programmation ne l'ont pas fait. C'est ce clivage qui explique qu'un chiffre en kibioctets sur votre écran sort presque toujours d'un outil Unix, et que la même quantité ailleurs aurait été étiquetée Ko sans moyen de savoir laquelle des deux était visée.
du -h, ls -lh, df -h et free -h utilisent par défaut des puissances de deux et impriment un suffixe d'une seule lettre — K, M, G — sans aucun i. L'option --si fait passer ces mêmes outils aux puissances de dix et imprime un k minuscule. La casse de cette seule lettre est tout le signal, et elle est invisible dans une capture d'écran collée dans un ticket.
Une sortie qui affiche 3.5M correspond donc à 3,5 Mio, soit 3 670 016 octets, et donner ce chiffre à un système qui suppose des mégaoctets vous laisse 4,9 pour cent en dessous. Quand le chiffre doit être cité plutôt qu'utilisé, du -B1 ou ls -l donnent les octets bruts et lèvent l'ambiguïté : c'est moins lisible et impossible à mal interpréter. ls -l --block-size=K et du --block-size=K annoncent l'unité à voix haute dans la sortie, ce qui vaut les quelques frappes en plus pour tout ce qui sera collé dans un ticket ou un runbook plutôt que lu une fois et oublié.
Les systèmes de fichiers distribuent l'espace par blocs. La taille de bloc par défaut est de 4 Kio sur ext4, XFS et NTFS, ce qui correspond par coïncidence à la taille d'une page mémoire sur x86-64. Un fichier de 200 octets occupe un bloc ; il en va de même pour un fichier de 4 096 octets ; un fichier de 4 097 en occupe deux. Le reste inutilisé s'appelle le slack, et il est invisible tant qu'on ne convertit pas un total de répertoire en Mio, où il ressort en plusieurs fois ce qui était attendu.
L'arithmétique mérite d'être faite une fois. Dix mille fichiers d'en moyenne 200 octets contiennent environ 2 Mio de données et occupent 40 960 Kio — 40 Mio — d'espace disque. du --apparent-size -sk donne la taille de contenu et du -sk la taille allouée, et un arbre node_modules ou une boîte Maildir fait apparaître l'écart à son maximum.
Un kibioctet est 2¹⁰ octets et un mébioctet est 2²⁰, donc passer de l'un à l'autre est un décalage de dix bits. Toute valeur en KiB se convertit en Mio avec un décimal qui se termine — 1 KiB vaut 0,000 976 562 5 Mio, écrit en entier sans arrondi ni partie récurrente —, parce que 1 024 n'a pas d'autre facteur premier que deux, et les fractions décimales se terminent exactement pour ces dénominateurs-là.
C'est le seul coin de la conversion d'unités où un résultat en virgule flottante peut être pris sans réserve. Tout compte en KiB inférieur à 2⁴³ se divise par 1 024 en flottant double précision sans perdre aucun bit, puisque le numérateur et le diviseur sont des puissances de deux et que l'exposant absorbe le décalage. Convertir des kilogrammes en livres ne peut pas en dire autant ; la conversion ici, si.
du -sk retourne un entier de kibioctets et du -sh une chaîne lisible et arrondie. La forme arrondie est faite pour être lue, l'entier pour faire des calculs, et les mélanger explique pourquoi un tableur de capacité finit à plusieurs pour cent de la réalité sans qu'aucune ligne ne soit évidemment fausse. La sortie arrondie porte au mieux trois chiffres significatifs, de sorte que 1.1G a déjà jeté tout ce qui se trouvait sous environ 50 Mio.
L'habitude pratique consiste à accumuler en KiB et à formater à la fin. du -sk | sort -n trie correctement ; du -sh | sort -h a besoin du drapeau -h aussi sur sort et se trompe silencieusement sans lui, parce que le tri lexicologique met 1.1G au-dessus de 9.9M. Convertir en Mio quand un humain lira le chiffre, pas avant.
Plusieurs endroits d'un système Linux sont comptés en KiB par définition, et un chiffre en Mio doit être remis dans l'autre sens avant d'y entrer. ulimit -s est une limite de pile en kibioctets, souvent 8 192. Les quotas disque sont fixés et reportés en blocs de 1 Kio. L'option size= d'un montage tmpfs est le piège du lot : la documentation du noyau dit qu'un nombre nu est en octets, donc size=65536 donne 64 Kio et non les 64 Mio que quelqu'un comptant en kibioctets attendait — ajouter k, m ou g dit ce qu'on veut. La quasi-totalité des champs de /proc/meminfo sont en kibioctets sous une étiquette kB, à l'exception des lignes HugePages_, qui sont des nombres de pages sans unité.
Là où la destination est l'un de ceux-là, le sens utile est l'inverse, et la conversion ici sert à lire plutôt qu'à configurer. Calculer le chiffre en Mio pour vérifier que 8 192 fait huit mébioctets et non huit mégaoctets, puis remettre le nombre en kibioctets dans le champ sans modification.
1 Kio vaut 0,0009765625 Mio. La valeur est exacte et non arrondie : la correspondance de kibioctet en mébioctet est fixée par définition.
Non. Le calcul se fait dans votre navigateur. Vous pouvez couper la connexion et continuer à calculer — c’est d’ailleurs la façon la plus simple de le vérifier.
Parce que deux unités différentes portent le même nom. Les fabricants comptent 1 Go = 1 000 000 000 octets ; Windows affiche des gibioctets, soit 1 073 741 824 octets, tout en les appelant « Go ». Le même disque paraît ainsi environ sept pour cent plus petit. Rien n’a disparu.
Un Mio vaut 1024 Kio. C’est le même rapport lu à l’envers : un résultat obtenu sur une page et repassé par l’autre doit revenir à son point de départ.
Ce que cette page affirme sur unités d’information se vérifie : voici les documents qui le fixent.
Le facteur figure dans la page sous forme de constante, et le calcul tient en quatre opérations. Rien n’est donc envoyé et rien n’est attendu : ce que vous saisissez ne quitte jamais le navigateur, faute de requête dans laquelle voyager.