Os primeiros engenheiros de computação optaram por adotar e adaptar unidades de prefixo SI às suas contagens de dados. Esses são os mesmos prefixos, mas contando usando binário em vez de métrico. Como 2 ^ 10 é próximo de 10 ^ 3, então cada prefixo do SI normalmente aumenta uma quantidade em 10 ^ 3, em vez disso, refere-se a um aumento de 2 ^ 10:
Prefix Metric prefix Binary prefix Difference
k kilo 10^3=1,000 2^10=1,024 2.4%
M mega 10^6=1,000,000 2^20=1,048,576 4.9%
G giga 10^9=1,000,000,000 2^30=1,073,741,824 7.4%
T tera 10^12 2^40 10.0%
P peta 10^15 2^50 12.6%
Estes foram adotados como parte dos padrões JEDEC.
Isso tem vários benefícios, já que muito trabalho nesse campo ocorre em potências de 2. No entanto, como você pode ver, eles divergem da métrica e, agora, estamos lidando com grandes quantidades de armazenamento, onde a diferença entre as duas diverge significativamente. O problema foi tratado pela IEC e pelo NIST. Eles diferenciam os dois sistemas alterando o prefixo binário:
Prefix Binary prefix
ki kibi 2^10
Mi mebi 2^20
Gi gibi 2^30
Ti tebi 2^40
Pi pebi 2^50
Eles foram padronizados pela primeira vez em 1998 e adotados no Sistema Internacional de Quantidades em 2008, mas a adoção é lenta e ainda existem empresas criando novos documentos usando o antigo padrão. Onde as empresas mudaram, eles encontraram usuários confusos e alguns voltaram ao estilo antigo.
Assim, usando o padrão mais antigo, 4Mb são 4 * 2 ^ 20 bits, o que equivale a 512 * 2 ^ 10 bytes.
Representado no padrão mais recente, seria 4Mib = 512 kiB, assumindo que 'b' são bits e 'B' são bytes.