Respostas:
Existem duas maneiras (em uso comum) de denotar ordens de magnitude para facilitar a leitura de grandes números; 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¹⁰) por um quilo .
Existem oito bits em 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 costumam usar potências de dois, então um kibibyte é 8 × 2¹⁰ = 8192 bits.
A diferença só aumenta à medida que os números aumentam. Alguns até misturaram esses dois sistemas para obter bons números para colocar em suas embalagens. É por isso que um disquete de 1,44 MB não possui 1,44 megabytes nem 1,44 mebibytes (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 inserida. Portanto, o i é a segunda letra do binário . O mnemônico para o kibibyte é "kilo binário 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
Lembre-se de que, com muita frequência, o termo kilobyte é usado quando o autor significa kibibyte. A unidade binária foi introduzida apenas por volta de 1999, como Randy Orrison aponta.
Como o nealmcb descobriu nos comentários, existe uma política oficial sobre isso:
https://wiki.ubuntu.com/UnitsPolicy
Em resumo, esta política lembra aos desenvolvedores que usam prefixos SI ou IEC, mas nunca os misturam. Continua dizendo:
Para tamanhos de arquivo, existem duas possibilidades:
- Mostre 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).
MiB de quê? Em particular o "i"?
Como ninguém respondeu: "MiB" significa " m egab i nary b yte", que pode ser abreviado para " m eb ib yte" (embora isso pareça meio estúpido, e eu prefiro continuar dizendo " megabinário "). 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:
é um prefixo padrão IEC, significa "por potência de dois"
2 ^ 10 = 1024 = Ki-
2 ^ 20 = 1048576 = Mínimo
mais detalhes sobre
Eles são prefixos binários , correspondentes aos prefixos decimais mais comuns. (Esse é um bom artigo que explica bem a lógica.)