Est-il vrai que 1 Mo peut signifier soit 1000000 octets, 1024000 octets ou 1048576 octets? [dupliquer]

63

Duplicate possible:
Quelle est la différence entre un kibibyte, un kilobit et un kilo-octet?

Si 1 Ko (kilo-octets) peut signifier 1000 octets ou 1024 octets,

Et 1 Mo (mégaoctet) peut signifier 1000 Ko ou 1024 Ko,

cela ne signifie-t-il pas que 1 Mo peut signifier l'un des quatre en dessous? :

  1. 1000 × 1000 = 1000000 octets

  2. 1000 × 1024 = 1024000 octets

  3. 1024 × 1000 = 1024000 octets

  4. 1024 × 1024 = 1048576 octets

Ou est-ce que 2. et 3. ne sont pas acceptés, donc 1 Mo pourrait signifier soit seulement 1000000 octets de 1048576 octets?

Pacerier
la source
3
Saviez-vous qu'il y a −0 (zéro négatif) et +0 (zéro positif)? fr.wikipedia.org/wiki/Signed_zero
Aki
4
Le seul endroit où j'ai vu mélanger différents préfixes sont les disquettes 1.44 [quelque chose qui n'est pas un mégaoctet ni un mégaoctet].
AndrejaKo
Aki oui mais je ne comprends pas ce que tu essayes de dire?
Pacerier
"Si les chiffres ne sont pas beaux, je ne sais pas ce que c'est." - Paul Erdős
Aki
4
S'il vous plaît, "kB", pas "KB".
Andreas Rejbrand

Réponses:

107

Premièrement, il existe deux types de préfixes lorsque l’on parle d’informations numériques ( octets lus ): les préfixes SI et les préfixes binaires .

Préfixes SI

Les préfixes SI sont des puissances de 1 000 (1 000 1 , 1 000 2 , 1 000 3 , etc.):

  • 1 Ko = 1 kilo-octet = 1 000 1 octet = 1 000 octets;
  • 1 Mo = 1 mégaoctet = 1 000 2 octets = 1 000 000 octets;
  • 1 Go = 1 gigaoctet = 1 000 3 octets = 1 000 000 000 octets;
  • et ainsi de suite .

Comme vous pouvez le constater, seuls les symboles SI méga et supérieurs sont en majuscule. Par conséquent, KB n'est pas un préfixe valide .

Préfixes binaires

Les préfixes binaires sont des puissances de 1 024 (1 024 1 , 1 024 2 , 1 024 3 , etc.):

  • 1 Ko = 1 kibibyte = 1 024 1 octet = 1 024 octets;
  • 1 Mio = 1 mégaoctet = 1 024 2 octets = 1 048 576 octets;
  • 1 Gio = 1 gibioctet = 1 024 3 octets = 1 073 741 824 octets;
  • et ainsi de suite .

Comme vous pouvez le voir ici, chaque symbole binaire est mis en majuscule et un i minuscule est ajouté avant le symbole B pour indiquer qu'il s'agit de kilo-octets au lieu de kilo-octets, de mégaoctets au lieu de mégaoctets, etc.


Cependant , les préfixes binaires ne sont pas largement utilisés, Windows ne les utilise pas du tout.

Ce qui se passe ici, c'est que Windows nous dit que le disque dur a une capacité de 300 066 795 520 octets, ce qui, selon Windows, équivaut à 279 Go. Cependant, nous savons que si 1000000000 octets = 1 Go, 300,066,795,520 octets = ~ 300 Go = ~ 279,5 Gio .

Par conséquent, si vous voyez 1 Ko (ce qui est faux, rappelez-vous) ou 1 Mo, supposons que nous parlons respectivement de 1 kibibyte et de 1 mégibyte. Les kb , kb , gb , gb , etc. sont également fréquents, même s’ils représentent des bits (8 bits = 1 octet).


En définitive , 1 Ko ou 1 Mo ne peuvent en aucun cas avoir plusieurs valeurs, même si le (mauvais) usage semble indiquer le contraire.

sérieux
la source
3
Vous devriez peut-être ajouter que lorsqu'on parle de taux de transfert de données (en bit / s), on utilise généralement les préfixes en base 10, par exemple, Gb / s signifie en réalité "un milliard de bits par seconde".
Frank
3
Les préfixes binaires sont relativement nouveaux et il est encore très courant d'utiliser les préfixes SI pour désigner des puissances de 2. Je pense que beaucoup de gens ne sont même pas au courant des préfixes binaires. @ Novox fait valoir un point positif: même les personnes qui utilisent GB comme 1048 576 octets de stockage utilisent généralement Gb / s pour signifier 1000000 000 bits par seconde. L’invention des préfixes binaires n’a pas rendu l’utilisation cohérente.
Keith Thompson
5
@kubanczyk: Je ne suis pas en désaccord avec le fait que ce soit de la paresse - mais la paresse n'est pas nécessairement une mauvaise chose. Nous avons besoin d’ un moyen de faire référence au stockage en unités de 1024, 1048576 ou 1073741824 octets, et avant l’invention (relativement récente) des préfixes binaires (Ki, Mi, Gi), en réutilisant les préfixes SI (K, M, G) était le seul moyen raisonnable de le faire. Et nous avons fait cela pendant tellement d'années que les préfixes K, M, G sont toujours ambigus. Il aurait été préférable d'utiliser systématiquement les préfixes binaires et SI dès le début, mais ce n'est pas ce qui s'est passé.
Keith Thompson
2
@kubanczyk Ne vous méprenez pas, je / suis / suis un partisan convaincu de l'utilisation correcte de l'unité. Pourtant, je ne pense pas que "c'est évident". Si c'était vraiment le cas, il n'y aurait pas de questions comme celle-là, non?
Frank
3
Hmmm permet d'essayer l'inverse, allons-nous? Regardez ce qui s'est passé avec 8 bits. Au lieu d'appeler cela décabit et d'insister sur le fait que déca- signifie parfois dans IT 8 et non 10, quelqu'un a inventé un nouveau terme et l'a appelé un octet. Voila! Même solution était possible avec 1024 sinon 65536.
kubanczyk
14

Le kilo-octet est une mesure en base 10, donc 1 kilo-octet = 10 à la puissance de 3 = 1000 octets.

Bien que cela ne soit pas assez précis pour mesurer exactement les données physiques car elles sont stockées dans un fichier binaire qui est mesuré en base 2, le kibibyte a donc été créé en 1999 pour remplacer le kilo-octet utilisé en informatique de 1024 octets.

Kibibyte est une mesure en base 2, donc 1 kibibyte = 2 à la puissance de 10 = 1024 octets.

La même chose s'applique aux mégaoctets (1 mégaoctet = 10 à la puissance de 6 = 1000000 octets), dont la mesure en base 2 est en mégaoctet (1 mégaoctet = 2 à la puissance de 20 = 1048576 octets)

  • (1) s'applique aux mégaoctets
  • (2) et (3) n'est pas accepté
  • (4) s'applique au mebibyte
Asdjaputra
la source
13
Bien que cela soit techniquement correct, je voudrais souligner que dans l’usage courant, personne ne dit kibibyte ou mebibyte, et lorsque l’on parle de «kilo-octets», on se réfère à l’unité affichée par Windows ou le système d’exploitation, c’est-à-dire les kibibytes. Le seul endroit où j'ai régulièrement vu des kilo-octets utilisés correctement est la capacité du disque dur, ce qui frustre les utilisateurs.
Darth Android
4
Oui, mais uniquement parce que leur système d'exploitation n'utilise pas les préfixes SI "correctement".
Frank
2
Néanmoins, Mo peut signifier 1 000 000 ou 1 048 576 octets . Bien que pas correct , il est répandu. CC @DarthAndroid
Daniel Beck
Ah, 1998 ... quand Pluton était une planète et qu'un kilo-octet valait 1024 octets.
Skrymsli
9

Actuellement, l'utilisation de "KB", "MB", etc. pour signifier autre chose que 1000 octets, 1000 x 1000 octets, etc. est déconseillée et contraire à la plupart des normes officielles. La nouvelle façon d’exprimer 1024 octets, 1024 x 1024 octets, etc. est KiB (kibibyte), MiB (mébibyte), etc. C’est un gâchis et le contexte est essentiel pour comprendre ce que l’on entend par. Voir http://en.wikipedia.org/wiki/Kibibyte pour une discussion de ces problèmes.

Kreemoweet
la source
7

Probablement pas, car ce serait une utilisation incohérente des préfixes dans un seul numéro .

Alors que le préfixe SI k signifie 1000, mais en informatique, il est souvent utilisé pour signifier 1024 (avec certains préconisant des préfixes binaires ), il n’a aucun sens de choisir entre ces significations dans le même nombre .

Daniel Beck
la source
@JdeBP: note intéressante. Il aurait été "correct" (au sens 2) de dire 1440 KB. Je n'avais jamais pensé à / réalisé le mélange des deux "systèmes" dans le numéro 1.44. +1
BillP3rd
3

Vous avez raison dans votre question. 1 et 4 sont corrects, 2 et 3 ne le sont pas.

Fondamentalement, vous définissez le "mille" qui est soit 1000 ou 1024 et utilisez cela pour les multiplications. Ils ne sont pas échangés.

En base deux (binaire), le plus proche de 1000 que vous pouvez obtenir est 1024 (2 ^ 10). C’est ainsi que les ordinateurs pensent réellement les choses. Ainsi, dans la mémoire (RAM), par exemple, 1 Mo correspond à 1048576 octets.

En base 10, cependant, vous pouvez en avoir 1000. Les disques fonctionnent comme ceci et sur un disque dur, 1 Mo correspond généralement à 1000000 octets (bien que l'état solide fonctionne en binaire).

Fondamentalement, cela dépend simplement du fait que l'ordinateur et le périphérique de stockage fonctionnent généralement légèrement différemment, de sorte qu'il existe différentes définitions pour la même chose.

James Billingham
la source
1

Alors, voici le deal. (La plupart des) ordinateurs actuels fonctionnent en base 2 et non en base 10. (Oui, je sais qu'il existe des exceptions, mais ce sont vraiment des cas exceptionnels.) Pour nos besoins, tous les ordinateurs à usage général (et certainement tous les utilisateurs ordinateurs à usage général) utilisent la base 2 pour tous les traitements internes. L'unité fondamentale est un bit qui peut être zéro ou un. Huit de ceux-ci forment ensemble un octet; 16 un mot. En règle générale, on considère généralement que les ordinateurs 32 bits utilisent des "mots" 32 bits, des ordinateurs 64 bits, des mots 64 bits, etc. As-tu remarqué? Ce sont tous des pouvoirs de 2. Un ordinateur avec un "K" ou un kilo-octet de mémoire aura toujours 1024 octets de mémoire. Un mégaoctet de mémoire signifiera toujours 1024 x 1024 octets. Encore une fois, tous sont des puissances de 2. Donc, un ordinateur avec 64 Mo de mémoire aura toujours 64 x 1024 x 1024 octets. Lorsque vous voyez des ordinateurs annoncés à la vente, la capacité de mémoire (RAM) sera toujours basée sur des puissances de 2. Vous ne verrez jamais de carte vidéo, par exemple, réclamant 1 Go de RAM pour un milliard d'octets.

La confusion a été introduite, et ce qui rend les gens fous, c’est lorsque les fabricants de disques durs, dans leur quête pour offrir des disques de plus en plus gros, disaient: "Hé! Vous savez, dans d’autres domaines (pas les ordinateurs), un K vaut 1000 et un M est 1 000 000. " Si deux gars discutaient du prix de vente d'une voiture, par exemple, et l'un d'eux suggérait: "Je pense que" 8K "sonne juste," l'autre comprendrait automatiquement que "8K" signifiait 8 000 $ (pas 8 192 $). Ainsi, les fabricants de disques durs ont dit: « Commençons la publicité de nos produits en utilisant ces mesures pour qu'ils sonnent plus. » Mais les juristes sont intervenus et ont dit: "Attendez une minute. Pratiquement tous ceux qui, vous savez,comment ils travaillent va crier au scandale. "A quoi ces rusés publicitaires ont répondu:" Pas de problème. Ajoutez simplement un petit astérisque à côté de la capacité de la boîte et dans notre documentation, indiquez quelque chose comme "1 Go = 1 000 000 000 d'octets". Problème résolu."

Nous sommes donc ici, avec toute cette confusion. Citant l'article de wiki ci-dessus, référencé par @kreemoweet,

Dans la plupart des cas, le kilo-octet continue à être utilisé pour désigner une puissance de dix ainsi que de deux.

Et la confusion continue. Pour des raisons pratiques, vous devez probablement supposer que les capacités de disque sont basées sur des unités de mesure de base 10. De même, les capacités de RAM seront (probablement) toujours basées sur des unités de base 2. Pour les autres types d'appareils et de produits, cela dépendra probablement de la technologie sous-jacente et de ce que les publicitaires pensent pouvoir obtenir. Après tout, plus c'est gros, mieux c'est, non?

Pour une lecture supplémentaire, vous pouvez parcourir le scénario des préfixes binaires . Il ne fera pas les choses plus clair, mais il est amusant de lire.

BillP3rd
la source
2
Êtes-vous sûr que ce n'est que du marketing pur? c'est peut-être aussi lié à la structure / organisation du stockage lui-même.
barlop
3
-1 Ce n'est pas une affaire de marketing et ce n'était pas pour rendre les disques durs plus gros. C'est une explication largement répandue mais néanmoins totalement fausse. C'est aussi une inférence basée sur une ignorance flagrante du sujet. La Commission électrotechnique internationale et de l' Institut des ingénieurs électriciens et électroniciens énoncent en la raison, qui est de faire de faire des différentes disciplines de l' ingénierie parlent la même langue et ne pas confondre les uns les autres, en 1997 , dans un Bearer IEEE Standards article. C'est une question d' ingénierie pratique .
JdeBP
4
Mon expérience de travail pour Miniscribe et plus tard Maxtor dans les années 1980 et 1990 en tant qu’ingénieur m’informe du contraire. En tant qu’ingénieurs informaticiens, nous avons tendance à nous tourner vers des puissances de 2. Un octet sera toujours de 8 bits. Comme @barlop ajoute, contrairement à la mémoire de l'ordinateur principal, les disques en rotation peuvent avoir une structure / organisation très diverse. D'autant plus que la technologie de disque a évolué de telle sorte que le nombre de secteurs par piste varie du bord intérieur au bord extérieur de la surface d'enregistrement. Notez que les secteurs ont encore 512 octets. (Ce pouvoir embêtant de 2 encore).
BillP3rd
1
C'est un manque d'expérience: une vision étroite et myope de l'ingénierie. Allez lire l’ article porteur de normes IEEE . C’est précisément le genre de clignotant "Mais les gens utilisent toujours des pouvoirs de deux." En pensant, cela va alors terriblement mal quand il touche la majorité des ingénieurs qui ne sont pas aveuglés comme ça, que cela était et est carrément visé. Comme je l'ai dit, il s'agit d'une question d' ingénierie pratique , et vous démontrez ironiquement le problème même auquel elle était destinée. Ce n'est pas du marketing, et il ne s'agit pas de faire quelque chose de plus gros. C'est le total des déchets fabriqués. Ne le crois pas.
JdeBP
1
@JdeBP, bien sûr, les ingénieurs ont clairement défini les termes kibibyte, etc. Et quelle proportion d'ingénieurs du monde des disques durs l'utilise, je l'ignore. J'aurais pensé qu'ils sauraient peut-être par contexte ce qu'ils entendent par kilo-octet et n'auraient pas besoin de la bouchée de kibibyte, ou peut-être pas. On dirait que BillP3rd pense qu'ils sauraient et qu'il s'agirait de base2, et vous pensez qu'ils ont besoin de spécifier pour savoir entre eux. Mais le marketing aurait choisi d'utiliser la plus petite unité, le préfixe décimal de l'emballage. Je me demande si le marketing le faisait même avant cet article IEEE.
barlop
0

Oui, comme c'est un désastre syntaxique. Cet article du wiki explique le problème et inclut un tableau des "nouveaux" mots à utiliser. Ici, dans le monde réel, personne n’utilise ces termes. Vous devez utiliser le contexte pour déterminer la définition à examiner.

Jim B
la source
4
-1 pour ce "personne". Je les utilise ici dans le monde réel et je suis loin d'être seul.
JdeBP
1
Si le consommateur moyen demandait à un vendeur la capacité de mémoire d’un ordinateur qu’il envisageait d’acheter et que l’on lui dise «4 gibibytes», il n’aurait aucune idée de ce que cela voulait dire. De même, la grande majorité des gens ne diraient jamais les mots à voix haute "gibibyte, tibibyte, pibibyte, etc." Sérieusement, essayez de dire "gibibyte" à haute voix trois fois plus vite que possible. Je peux le dire, au moins, je ne les ai jamais entendues. (Pour le contexte, je travaille pour une grande société de logiciels dont vous avez probablement entendu parler et qui traitent régulièrement des volumes de données à l'échelle du téraoctet et du pétaoctet.)
BillP3rd
+1 pour mentionner ces termes amusants et que la plupart ne les utilisent pas et utilisent le contexte
barlop
1
"personne" signifie "personne", enfant, et comme par magie, le contexte ne signifie pas autre chose que ce que le mot signifie. C'est un mensonge, mais vous essayez de le couper.
JdeBP
1
@ JdeBP - désolé Jdebp mais souhaiter ne le rend pas ainsi. L'existence même du terme kibibyte est la preuve qu'il existait (et existe toujours) une confusion quant à sa signification. Je suis désolé que vous ayez été bloqué avec ce terme pendant une décennie (ce doit être difficile de trouver des disques durs avec des valeurs en kibibytes en 2000). Je vous suggérerais également de travailler sur l'édition de cet article de wiki auquel j'ai fait référence - il est clair qu'ils doivent également se tromper en ce qui concerne le manque d'utilisation (ils vous ont sans doute laissé de la liste de vote).
Jim B