Significado de “i” em “MiB”?

78

Eu vejo o uso de "MiB" como medida para representar o tamanho no Ubuntu. MiB de quê? Em particular o "i"?

    
por Renjith G 18.01.2011 / 11:54

4 respostas

111

Existem duas maneiras (em uso comum) de denotar ordens de grandeza para facilitar a leitura de números grandes, primeiro você pode usar uma potência de 10.

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

Ou poderes de dois

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

Usando essas séries como base, chegamos aos números 1000 e 1024 (10³ e 2¹⁰) para um quilo .

Existem oito bits para um byte. Portanto, um kilobyte é 8 × 10³ = 8000 bits. Os fabricantes de discos rígidos usam esse método. Na ciência da computação, as pessoas geralmente usam poderes de dois, então um kibibyte é 8 × 2¹⁰ = 8192 bits.

A diferença só aumenta quando os números aumentam. Alguns até misturaram esses dois sistemas para obter números interessantes para colocar em suas embalagens. É por isso que um disquete de 1,44 MB não possui nem 1,44 megabytes nem 1,44 MB (eles usam 1024 × 1000).

A lógica por trás do i é que os termos são derivados dos prefixos si originais, kilo, mega, giga, mas com a palavra binário colocada dentro. o i é a segunda letra do binário . O mnemônico para o kibibyte é "kilo binary byte", e "KiB" é pronunciado "Kibibyte".

Tudo isso é definido no Padrão IEC_80000 .

Observe que um mebibyte não é definido como 2²⁰, mas como (2 10 ) 2 , embora sejam iguais. Um gibibyte é (2 10 ) 3 , um tebibyte é (2 10 ) 4 e assim por diante.

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

Tenha em mente que, muito frequentemente, o termo kilobyte é usado quando o autor significa kibibyte. A unidade binária foi introduzida apenas por volta de 1999, como aponta Randy Orrison.

Como nealmcb descobriu nos comentários, existe uma política oficial sobre isso: link link a>

Em resumo, esta política lembra os desenvolvedores a usar os prefixos SI ou IEC, mas nunca misturá-los. Ele continua dizendo:

  

Para tamanhos de arquivo, existem duas possibilidades:

     
  • Mostrar ambos, base-10 e base-2 (nesta ordem). Um exemplo é o kernel do Linux: "2930277168 setores de hardware de 512 bytes: (1,50 TB / 1,36 TiB)"
  •   
  • Mostre apenas a base 10 ou dê ao usuário a oportunidade de decidir entre a base 10 e a base 2 (o padrão deve ser a base 10).
  •   
    
por Stefano Palazzo 18.01.2011 / 13:06
10
  

O que o MiB representa? Em particular o "i"?

Como ninguém realmente respondeu isso: "MiB" significa " m egab i nary b yte", que pode ser abreviado para "mebibyte" (embora isso pareça um pouco estúpido, e eu prefiro apenas dizer "megabinary"). Veja a explicação do NIST.

Então o "i" vem da palavra "binário".

Havia outras propostas para abreviar essas unidades no passado, mas todas falharam em ganhar força:

  • κ = 1024, κ2 = 1024², κ3 = 1024³, ... (letra grega kappa, difícil de digitar)
  • KKB = 1024, MMB = 1024², GGB = 1024³, ... (pode ser mal interpretado como megamegabyte = TB)
  • bK = 1024, bK² = 1024², bK³ = 1024³, ... (quando propostos, muitos computadores nem sequer tinham letras minúsculas)
  • 1B10 = 1024, 1B20 = 1024², 1B30 = 1024³, ...
  • k₂B = 1024, M₂B = 1024², G₂B = 1024³, ...
por endolith 06.06.2011 / 23:53
10

é um prefixo padrão da IEC que significa "por poder de dois"

2 ^ 10 = 1024 = Ki -

2 ^ 20 = 1048576 = Mi -

mais detalhes sobre

link

link

    
por ithkuil 18.01.2011 / 12:03
4

Eles são prefixos binários , correspondendo aos prefixos decimais mais comuns. (Esse é um bom artigo que explica bem o raciocínio.)

    
por TRiG 18.01.2011 / 17:58