¿Significado de "i" en "MiB"?


82

Veo el uso de "MiB" como medida para representar el tamaño en Ubuntu. ¿Qué significa MiB? En particular la "i"?

Respuestas:


115

Hay dos formas (de uso común) de denotar órdenes de magnitud para hacer que los números grandes sean más fáciles de leer, primero puede usar una potencia de 10.

10⁰ = 1
10¹ = 10
10² = 100
10³ = 1000

O poderes de dos

2⁰ = 1
2¹ = 2
2² = 4
2³ = 8

Usando estas series como base, llegamos a los números 1000 y 1024 (10³ y 2¹⁰) por kilo .

Hay ocho bits por byte. Entonces un kilobyte es 8 × 10³ = 8000 bits. Los fabricantes de discos duros usan este método. En ciencias de la computación, las personas suelen usar potencias de dos, por lo que un kibibyte es 8 × 2¹⁰ = 8192 bits.

La diferencia solo aumenta a medida que aumentan los números. Algunos incluso han mezclado esos dos sistemas para obtener buenos números para poner en sus empaques. Esta es la razón por la cual un disquete de 1.44MB no tiene 1.44 megabytes ni 1.44 mebibytes (usan 1024 × 1000).

La lógica detrás de la i es que los términos se derivan de los prefijos si originales, kilo, mega, giga, pero con la palabra binario introducida. Entonces, i es la segunda letra del binario . La mnemónica para el kibibyte es "kilo byte binario", y "KiB" se pronuncia "Kibibyte".

Todo esto se define en el estándar IEC_80000 .

Tenga en cuenta que un mebibyte no se define como 2²⁰, sino como (2 10 ) 2 , aunque son iguales. Un gibibyte es (2 10 ) 3 , un tebibyte es (2 10 ) 4 y así sucesivamente.

Prefix       Bytes                      Prefix       Bytes
1 Byte     = (2^10)^0 = 1               1 Byte     = (10^3)^0 = 1
1 Kibibyte = (2^10)^1 = 1024            1 Kilobyte = (10^3)^1 = 1000
1 Mebibyte = (2^10)^2 = 1048576         1 Megabyte = (10^3)^2 = 1000000
1 Gibibyte = (2^10)^3 = 1073741824      1 Gigabyte = (10^3)^3 = 1000000000
1 Tebibyte = (2^10)^4 = 1099511627776   1 Terabyte = (10^3)^4 = 1000000000000

Tenga en cuenta que, muy a menudo, el término kilobyte se usa cuando el autor significa kibibyte. La unidad binaria solo se introdujo alrededor de 1999, como señala Randy Orrison.


Como descubrió Nealmcb en los comentarios, hay una política oficial sobre esto:
https://wiki.ubuntu.com/UnitsPolicy

En resumen, esta política recuerda a los desarrolladores que usen prefijos SI o IEC, pero que nunca los mezclen. Continúa diciendo:

Para tamaños de archivo hay dos posibilidades:

  • Muestra ambos, base-10 y base-2 (en este orden). Un ejemplo es el kernel de Linux: "2930277168 sectores de hardware de 512 bytes: (1.50 TB / 1.36 TiB)"
  • Solo muestre base-10, o brinde al usuario la oportunidad de decidir entre base-10 y base-2 (el valor predeterminado debe ser base-10).


55
El gusto es mio. Pasé mucho tiempo en eso y los errores relacionados. ¡Gracias por una excelente reseña aquí!
nealmcb

1
En lugar de "Tenga en cuenta que, muy a menudo, el término kilobyte se usa cuando el autor significa kibibyte", diría "Tenga en cuenta que el término kibibyte solo se introdujo en 1999 y antes kilobyte se refería a 1024 bytes. La mayoría de la documentación, software y programadores mayores de 12 años seguirán utilizando el formulario original ". Aparte de eso, una excelente crítica. (Fecha de un vistazo muy rápido a wikipedia, podría estar un par de
veces

@RandyOrrison Eso es un mito. "kilo-" se ha utilizado con ambas definiciones en informática desde la década de 1950. en.wikipedia.org/wiki/Timeline_of_binary_prefixes
endolith

Para los curiosos, un disquete de 1.44 "MB" tiene 1.47 MB ​​o 1.41 MiB.
wjandrea

12

¿Qué significa MiB? En particular la "i"?

Como en realidad nadie respondió esto: "MiB" significa " m egab i nary b yte", que puede abreviarse como " m eb ib yte" (aunque esto suena un poco estúpido, y prefiero seguir diciendo " megabinario "). Ver la explicación del NIST.

Entonces la "i" viene de la palabra "binario".

Hubo otras propuestas para abreviar estas unidades en el pasado, pero todas no lograron ganar tracción:

  • κ = 1024, κ2 = 1024², κ3 = 1024³, ... (letra griega kappa, difícil de escribir)
  • KKB = 1024, MMB = 1024², GGB = 1024³, ... (podría malinterpretarse como megamegabyte = TB)
  • bK = 1024, bK² = 1024², bK³ = 1024³, ... (cuando se propuso, muchas computadoras ni siquiera tenían minúsculas)
  • 1B10 = 1024, 1B20 = 1024², 1B30 = 1024³, ...
  • k₂B = 1024, M₂B = 1024², G₂B = 1024³, ...


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.