Convertir des o en Kio

o
0,0009765625Kio

1 B = 0,0009765625 KiB

Saisissez une valeur et la conversion de octet en kibioctet suit pendant que vous tapez. Le facteur vaut exactement 0,0009765625 : c’est ce que représente 1 o en Kio. Le calcul se fait sur votre propre appareil ; une fois la page chargée, elle n’interroge plus aucun serveur.

  • Où cela s’exécute Dans votre navigateur. Ce que vous saisissez n’entre dans aucune requête.
  • Exact par définition 1 B vaut exactement 0,0009765625 KiB — fixé, pas arrondi.
  • Répond pendant que vous tapez Sans bouton et sans attente. La réponse calculée est dans la page avant qu’aucun script ne s’exécute.

octet en kibioctet : exemples concrets

  • 5000000 o is 4883 Kio

    — une photo prise au téléphone.

  • 1024 o is 1 Kio

    — un kibioctet, là où commence la confusion.

  • 524300 o is 512 Kio

    — un demi-mébioctet.

  • 4096 o is 4 Kio

    — une page de mémoire sur la plupart des systèmes.

octet en kibioctet en un coup d’œil

Chaque nombre de ce tableau est calculé à partir de la définition qui donne la réponse ci-dessus : le tableau ne peut donc pas s’en écarter.
oKio
100,009765625
200,01953125
500,048828125
1000,09765625
5000,48828125
10000,9765625
50004,8828125
100009,765625

octet et kibioctet

Un octet vaut huit bits — c’est d’ailleurs ce que le mot dit, là où l’anglais *byte* ne dit rien de la taille. Elle n’a pas toujours été fixée : les premiers ordinateurs employaient six, sept ou neuf bits. Huit s’est imposé parce qu’un caractère y tient et que le nombre se coupe proprement en deux.

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é.

Il faut 1 024 octets pour faire un kibioctet

Dans ce sens, l'opération est une division, et par un nombre entier : 1 024 de ces unités entrent dans un kibioctet 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.

KiB est l'unité binaire

Un KiB vaut 1 024 fois l'unité du dessous ; un kB, 1 000. Sur cette page, c'est l'écart entre 1024 B et 1000 B — 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 1000 B là où la boîte annonçait 1024 B. 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.

Un seul fichier, deux nombres : `ls -l` contre `ls -lh`

Lancez ls -l et vous obtenez un compteur exact d’octets, celui que le système de fichiers conserve et que toute API qui rapporte une taille renvoie. Lancez ls -lh sur le même fichier et vous obtenez quelque chose comme 24K. Le fichier n’a pas changé entre les deux commandes — la seconde a divisé par 1 024, arrondi, et accolé une lettre qui ne dit pas sur quelle base elle a été calculée.

C’est la raison pour laquelle on convertit à la main des octets en kibioctets. Le chiffre exact est celui qui doit correspondre à un en-tête, à une borne de somme de contrôle ou à un quota ;le chiffre arrondi est celui qu’un collègue vous renvoie depuis un terminal. Pouvoir passer de l’un à l’autre sans deviner sur quelle base l’autre a travaillé est toute la compétence en jeu ici.

Le K qui vaut 1 024, et l’option qui inverse le sens

Les coreutils de GNU utilisent K, M et G majuscules pour les puissances de 1 024 et k minuscule pour 1 000, une convention que presque personne ne connaît et qu’aucun outil n’annonce. du -h rapporte en binaire. du --si rapporte en décimal sur le même répertoire et diverge de 2,4 % au palier du kilo. df sans option affiche des blocs de 1 024 ;df -h est binaire ;df -H est décimal.

La conséquence pratique est que « quelle est la taille de ce répertoire » admet deux bonnes réponses depuis la même commande, et laquelle vous obtenez dépend d’une option que quelqu’un a tapée il y a une semaine dans un script. Quand un chiffre va dans un ticket ou un plan de capacité, notez l’option avec, ou convertissez d’abord en octets et laissez le lecteur choisir son échelle.

Pourquoi le bloc fait 1 024 octets et non 1 000

La mémoire est adressée par des lignes qui sont soit hautes soit basses, donc les quantités vers lesquelles une machine se tourne naturellement sont des puissances de deux. Dix lignes d’adresse atteignent 1 024 positions, ce qui est assez proche d’un millier pour que le préfixe kilo soit emprunté, et l’emprunt n’a jamais été défait. C’est l’accident historique dont descend toute l’argumentation binaire contre décimale.

Ce n’est pas qu’historique. Les systèmes de fichiers allouent par blocs qui sont des puissances de deux, les pages mémoire sont de 4 096 octets sur le matériel ordinaire, et les disques sont passés de secteurs de 512 octets à des secteurs de 4 096. Convertir des octets en kibioctets est donc la conversion qui tombe sur des frontières réelles ;convertir en kilooctets décimaux donne un nombre plus propre auquel rien en dessous n’est construit.

Un octet fait huit bits, et cette conversion ne parle pas de bits

Tous les chiffres de cette page comptent des octets. Content-Length, tailles de fichier, longueurs de tampon et occupation disque sont tous des compteurs d’octets, et un octet en fait huit depuis que la convention s’est fixée — les machines anciennes utilisaient six, sept ou neuf, et l’octet de huit bits a gagné en partie parce qu’il contient un caractère et se divise par deux proprement.

Les débits sont l’exception qui mord. Les vitesses de lien, les plafonds de bande passante et les réglages d’encodeur sont cités en bits par seconde, donc une connexion à 100 Mbit/s transporte au mieux 12,5 Mo par seconde, et diviser les deux chiffres sans y penser donne une réponse fausse d’un facteur huit. La casse est le seul signal : Mb pour mégabits, MB pour mégaoctets.

Les octets que contient un fichier et ceux qu’il consomme

Un fichier de 900 octets fait 900 octets de long et occupe 4 096 octets du volume, parce que le stockage s’alloue par blocs entiers. ls -l rapporte le premier chiffre et du le second, ce qui explique qu’un répertoire de petits fichiers puisse consommer plusieurs fois ce que ses contenus additionnés. du --apparent-size fait basculer du sur le compteur d’octets et les deux se réaccordent.

Cela pèse le plus à la petite extrémité, qui est précisément l’échelle où vit une conversion octets-vers-KiB. Dix mille fichiers de configuration de 200 octets font 2 Mo de contenu et environ 40 Mio de disque. Si le chiffre que vous convertissez vient d’un outil de quota, c’est probablement la taille allouée ;s’il vient d’un en-tête de longueur, c’est le contenu.

Arrondir vers le haut, et s’en servir pour identifier l’outil

Les coreutils arrondissent leurs tailles lisibles vers le haut plutôt qu’à la valeur la plus proche, donc un fichier de 1 025 octets s’imprime en 1,1K alors que 1,0 serait plus près. La règle est que l’affichage ne doit jamais prétendre à moins que ce qui s’y trouve. D’autres outils arrondissent au plus proche, et les gestionnaires de fichiers tronquent fréquemment, ce qui fait que trois programmes produisent trois tailles pour un seul fichier et que toutes paraissent défendables.

Vous pouvez vous en servir à dessein. Créez un fichier de 1 025 octets, listez-le et lisez la réponse : 1,1K signifie l’arrondi coreutils sur une base 1 024, 1,0K signifie l’arrondi au plus proche, 1,0k ou 1,1k signifie l’échelle décimale. Cela prend dix secondes et tranche un débat qui sinon dure un après-midi.

Quand le compteur d’octets est le seul chiffre à garder

Certains nombres ne survivent pas à une conversion. Un Content-Length doit être le compteur exact d’octets ou la réponse est mal formée. Un en-tête Range adresse des décalages d’octets. Un téléversement en plusieurs parties a une taille minimale de partie en octets. Une allocation mémoire est un nombre entier d’octets, et l’arrondir à une unité aimable est la façon dont s’écrit un bug d’une unité de décalage.

Convertissez donc pour l’être humain et gardez l’entier pour la machine. La discipline utile est de stocker des octets partout dans le code et les journaux, et de ne convertir qu’au point d’affichage, en étiquetant le résultat KiB plutôt que KB pour que la personne suivante n’ait pas à deviner de quel millier il s’agissait.

Les fichiers creux déclarent une taille qu’ils n’ont jamais occupée

Un fichier creux est un fichier dont les régions non écrites sont enregistrées comme des trous plutôt que stockées comme des zéros, et il casse la relation entre compteur d’octets et quantité de disque dans la direction opposée à l’arrondi par bloc. Une image de machine virtuelle créée à 40 Go peut n’occuper que quelques centaines de kibioctets tant que rien n’y est écrit. ls -l rapporte la longueur logique complète, parce que c’est ce que le fichier prétend être ;du rapporte la minuscule figure allouée, parce que c’est ce qui existe.

Cela vaut la peine d’être su avant de convertir un compteur d’octets, parce que les deux outils répondent à des questions différentes et qu’une seule d’elles est la question que vous avez. Si le chiffre va dans un plan de capacité, la figure allouée est l’honnête et elle va grandir. Si le chiffre va dans une estimation de transfert, la figure logique est ce qu’une copie naïve va réellement écrire, et la destination aura besoin du tout à moins que l’outil de copie ne comprenne les trous.

Convertir des o en Kio : questions fréquentes

Combien font 1 o en Kio ?

1 o vaut 0,0009765625 Kio. La valeur est exacte et non arrondie : la correspondance de octet en kibioctet est fixée par définition.

Ce que je saisis est-il envoyé quelque part ?

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.

Pourquoi mon disque affiche-t-il moins que ce qui est annoncé ?

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.

Dans l’autre sens : kibioctet en octet

Un Kio vaut 1024 o. 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.

D’où viennent ces chiffres

Ce que cette page affirme sur unités d’information se vérifie : voici les documents qui le fixent.

Comment cette page fonctionne

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.