Cette question m'a amené à m'interroger sur les différences entre ces trois façons de mesurer la taille: un kibibyte , un kilobit et le kilobyte conventionnel.
Je comprends que ces mesures ont des utilisations différentes (le taux de transfert des données est mesuré en bits / s), mais je ne suis pas tout à fait sûr de pouvoir faire la différence entre Mb, MB et MiB.
Voici un commentaire, reproduit ci-dessous, tiré de cette réponse (c'est moi qui souligne ).
Le C64 dispose de 65 536 octets de RAM. Par convention, la taille de la mémoire est spécifiée dans kibibytes , les taux de transfert de données en kilobits et le stockage de masse dans tout-les-fabricants pensent-de-maintenant- Octets . Les disques durs utilisent T, G, M et k sur l’étiquette, Windows indique la taille en Ti , Gi , Mi et ki . Et ces disquettes de 1,44 Mo? Ce ne sont ni 1,44 Mo ni 1,44 Mo, ils sont 1,44 kilokibytes. C'est 1440kiB ou 1'474'560 octets. - troisième
la source
Réponses:
C'est la même chose avec n'importe quel préfixe SI;
k
(1x10 3 ),M
(1x10 6 ),G
(1x10 9 ), donc, par extension:Les seuls qui sont différents bits sont les binaires CEI Prefixes (kibi / MEBI / gibi etc.), parce qu'ils sont dans la base 2, et non pas 10 base (par exemple , tous les nombres égaux 2 quelque chose au lieu de 10 quelque chose ). Je préfère simplement utiliser les préfixes SI car je trouve que c'est beaucoup plus facile. De plus, le Canada (mon pays) utilise le système métrique, je suis donc habitué à, par exemple
1kg = 1000g
(ou1k anything = 1000 base things
). Aucun d'entre eux n'est faux ou juste; Assurez-vous simplement de savoir lequel vous utilisez et ce à quoi cela correspond.Pour apaiser les commentateurs:
C'est pourquoi, si vous avez déjà jeté un coup d'oeil dans un éditeur hexadécimal, tout est divisé en deux caractères hexadécimaux; chaque caractère hexadécimal est la taille d'un quartet, et il y a deux octets. Par exemple:
la source
500GB (box) = 465.7GiB (computer)
(et c'est comme ça qu'ils vous ont).Il existe quelques termes de base simples et faciles à comprendre:
Pour convertir entre bits et octets (avec n'importe quel préfixe), il suffit de les multiplier ou de les diviser par huit; gentil et simple.
Maintenant, les choses se compliquent un peu car il existe deux systèmes de mesure de grands groupes de données: décimal et binaire . Pendant des années, les programmeurs et les ingénieurs n’ont utilisé que les mêmes termes, mais la confusion a finalement provoqué des tentatives de normalisation d’ un ensemble de préfixes approprié.
Chaque système utilise un ensemble similaire de préfixes pouvant être appliqués à des bits ou à des octets. Chaque préfixe commence de la même manière dans les deux systèmes, mais les préfixes binaires sonnent comme du jargon après ça.
Le système décimal est la base 10, ce à quoi la plupart des gens sont habitués et que l’usage est confortable, car nous avons 10 doigts. Le système binaire est la base 2, ce à quoi la plupart des ordinateurs sont habitués et utilisent facilement car ils ont deux états de tension.
Le système décimal est évident et facile à utiliser pour la plupart des gens (il est assez simple pour se multiplier dans nos têtes). Chaque préfixe augmente de 1 000 (la raison en est une toute autre affaire).
Le système binaire est beaucoup plus difficile à utiliser pour la plupart des non-informaticiens, et même les programmeurs ne peuvent souvent pas multiplier les nombres arbitrairement grands dans leur tête. Néanmoins, il s’agit simplement d’être un multiple de deux. Chaque préfixe augmente de 1 024. Un «K» est égal à 1 024 parce que c'est la puissance de deux la plus proche du «k» décimal de 1 000 (cela peut être vrai à ce stade, mais la différence augmente rapidement avec chaque préfixe successif).
Les nombres sont les mêmes pour les bits et les octets qui ont le même préfixe.
Notez que la différence entre le système décimal et le système binaire commence petit (à 1 Ko, ils ne sont que 24 octets, soit 2,4% de distance), mais augmente avec chaque niveau (à 1G, ils sont> 70 Mo, ou à 6,9% de distance).
En règle générale, les périphériques matériels utilisent des unités décimales (bits ou octets), tandis que les logiciels utilisent des unités binaires (généralement des octets).
C'est la raison pour laquelle certains fabricants, en particulier les fabricants de disques, préfèrent utiliser des unités décimales, car la taille du disque semble plus grande, mais les utilisateurs sont frustrés lorsqu'ils constatent qu'il en a moins que prévu lorsqu'ils voient Windows et. Al. signaler la taille en binaire. Par exemple, 500 Go = 476 Go. Ainsi, alors que le lecteur est conçu pour contenir 500 Go et étiqueté en tant que tel, Poste de travail affiche le binaire 476 Go (mais sous la forme «476 Go»), de sorte que les utilisateurs se demandent où sont allés les 23 Go suivants. (Les fabricants de lecteurs ajoutent souvent une note de bas de page aux packages indiquant que la «taille formatée est inférieure», ce qui est trompeur, car la surcharge du système de fichiers n’est en rien comparable à la différence entre les unités décimales et binaires.)
Les périphériques réseau utilisent souvent des bits au lieu d'octets pour des raisons historiques, et les fournisseurs de services Internet préfèrent souvent utiliser des bits, car la vitesse des connexions proposées est plus rapide: 12 Mbps au lieu de 1,5 Mbps. Ils mélangent même souvent des bits et des octets, ainsi que des nombres décimaux et binaires. Par exemple, vous pouvez vous abonner à ce que le FAI appelle une ligne «12 Mbps», en pensant que vous obtenez 12 Mbps mais que vous ne recevez en réalité que 1,43 Mbps (12 000 000/8 / 1024/1024).
la source
Certaines des réponses ne sont pas exactes.
Prenons d'abord quelques notes:
Le préfixe "kilo" signifie 1 000. Le préfixe "kilo" signifie "1 000". La même chose est vraie pour "méga" ou million, "giga" ou milliard, "tera" ou billion, et ainsi de suite.
La raison pour laquelle 1 024 existe au lieu d'avoir simplement 1 000 est due à la façon dont fonctionne l'arithmétique binaire. Binary, comme son nom l'indique, est un système base 2 (il a 2 chiffres: 0, 1). Il ne peut effectuer une arithmétique qu'avec deux chiffres, contrairement au système base 10 que nous utilisons quotidiennement (0, 1, 2 ... 9), qui comporte dix chiffres.
Pour obtenir le nombre 1 000 ( kilo ) en arithmétique binaire, il est nécessaire d'effectuer un calcul en virgule flottante. Cela signifie qu'un chiffre binaire doit être effectué à chaque opération jusqu'à atteindre 1 000. Dans le système de base 10, 1 000 = 10 3 (vous augmentez toujours 10 à une puissance dans la base 10), un calcul très facile et rapide pour un ordinateur à effectuer sans "reste", mais dans le système de base 2, Il n'est pas possible d'élever 2 (vous élevez toujours 2 à une puissance en base 2) avec un nombre entier positif égal à 1 000. Vous devez utiliser une opération à virgule flottante ou une addition longue, ce qui prend plus de temps que le calcul de l'entier. 2 10 = 1024.
Vous avez peut-être remarqué que 2 10 = 1 024 est tentant, il s'approche de 1 000 et 1 024 pour 1, un chiffre significatif est 1 000 (une très bonne approximation), et à l'époque où la vitesse du processeur était lente comme celle d'un vieux chien et que la mémoire est très limitée. , c’était une approximation assez décente et très facile à travailler, sans parler de l’exécution rapide.
C'est pour cette raison que les termes avec "kilo", "méga", "giga", etc., sont préfixés avec des chiffres non exacts (1 024, 2 048, 4 096, etc.). Ils n'étaient jamais censés être des nombres exacts, ils étaient des approximations binaires des nombres de base 10. Ils sont simplement apparus comme des mots de jargon utilisés par les "techniciens".
Pour compliquer encore les choses, JEDEC a créé ses propres normes pour les unités utilisées dans les circuits de mémoire à semi-conducteurs. Comparons certaines des unités JEDEC aux unités SI (standard international):
Kb = Kilobit (JEDEC, 1 024 bits. Notez les majuscules 'K' et les minuscules 'b')
kB = kiloBits (SI, 1 000 bits. Notez les minuscules 'k' et les majuscules 'B')
b = bit (JEDEC, notez la minuscule 'b')
b = ??? (SI ne définit pas le mot 'bit', son utilisation peut donc être arbitraire)
B = octet (JEDEC, 8 bits. Notez la majuscule «B»)
B = ???? (SI ne définit pas le mot "octet" et "B" est utilisé pour "Bel" [comme dans DeciBel])
KB = kilo-octet (JEDEC, 1 024 octets. Notez les majuscules «K» et «B»)
kb = kilo-octets (SI, 1 000 octets. Notez l'utilisation des minuscules «k» et minuscules «B»)
Le fait est que différents endroits utilisent différents préfixes avec différentes définitions. Il n'y a pas de règle absolue quant à celle que vous devriez utiliser, mais soyez cohérent avec celui que vous utilisez.
En raison du vote à la baisse, permettez-moi de préciser pourquoi vous ne pouvez pas générer 1 000 en binaire en l'élevant à un entier positif.
Système binaire:
Notez que dans le système binaire, les colonnes doublent à chaque fois. Cela contraste avec le système de base 10 qui augmente de 10 à chaque fois:
Les 10 premiers pouvoirs en binaire (base 2) sont:
2 0 = 1
2 1 = 2
2 2 = 4
2 3 = 8
2 4 = 16
2 5 = 32
2 6 = 64
2 7 = 128
2 8 = 256
2 9 = 512
2 10 = 1 024
Comme vous pouvez le constater, il n’est pas possible d’élever le binaire 2 à un entier positif pour atteindre 1 000.
la source