A razão histórica de usar poderes de 2 é que a memória e o disco rígido são acessados pela CPU usando um espaço de endereço composto de linhas em código binário. Os produtores de hardware decidiram os nomes dessa maneira:
2^10 = 1024 and as it's almost 1000 then call it 1 Kilobyte
2^20 = 1048576 bytes and as it's almost 1000000 then call it 1 Megabyte
Para o usuário normal, isso é um absurdo e incômodo. Além disso, os prefixos "kilo", "mega", etc. entram em conflito com o padrão Sistema Internacional de Unidades (SI), onde "1 kiloWatt" significa 10 ^ 3 ou 1000 Watts.
Para resolver o problema, no ano 2000 A Comissão Eletrotécnica Internacional ou IEC propôs um esquema de notação para as unidades baseadas em poderes de 2 na norma ISO / IEC 80000-13 .
Os novos nomes foram criados substituindo a segunda sílaba no nome antigo por "bi" (referindo-se a "2"). Um quilobyte deve ser agora um kibibyte e assim por diante. As novas unidades também têm símbolos correspondentes, então '10 kibibyte 'agora é escrito como 10 KiB ao invés de 10 kB . Esta é a tabela de correspondência:
Notation Symbol Value
1 kilobyte 1 kB 10^3 = 1000 bytes
1 megabyte 1 MB 10^6 = 1000000 bytes
1 gigabyte 1 GB 10^9 = 1000000000 bytes
1 terabyte 1 TB 10^12 = 1000000000000 bytes
1 kibibyte 1 KiB 2^10 = 1024 bytes
1 mebibyte 1 MiB 2^20 = 1048576 bytes
1 gibibyte 1 GiB 2^30 = 1073741824 bytes
1 tebibyte 1 TiB 2^40 = 1099511627776 bytes
16 anos depois, muitos fornecedores de hardware e software ainda se referem às unidades de base 2 com seus nomes SI . Um “megabyte” pode significar 1000000 bytes ou 1048576 bytes.
Se você comprar um disco rígido de 100 GB, a capacidade será 100x10 ^ 9 ou 10 ^ 11 bytes. Mas, e este é o grande, mas o sistema operacional relatará apenas a unidade como tendo uma capacidade de 93 GB (10^11)/(2^30)
. Você comprou uma unidade de 100
Os fabricantes de unidades ocultam esse problema com avisos de isenção de responsabilidade e explicações que sempre levam à conclusão de que “a capacidade formatada real pode ser menor”.