Pequenas correções já que sou da área...
1M qualquer coisa é 1.000.000 de qualquer coisa. Não há discussão quanto a isso.
Como os sistemas de informática eram binários, então estes não conseguiam uma medição precisa.
É uma unidade precisa sim, mas que não é base decimal. 1 byte é equivalente a 8 bits (binários que podem ser 0 ou 1).
Muito resumidamente, por não ser base decimal e nunca por não ser precisa é que a multiplicação de bytes resulta em que 1kb é igual 1024bytes e não em 1000, isso porque é usada potência de 2 ao invés de potência de 10.
1 Kbyte = 1024 Bytes (2
10) bytes e não (10
3). Isso não tem nada de impreciso.
As ultimas normas atribuem nomenclaturas diferentes para as medidas com calculos sobre a potência de 2 e a potência de 10.
O lance dos fabricantes não é arredondamento é adoção de base 10 para a produção dos discos rígidos.
Resumidamente :
É errada a unidade 1 GB (significando, incorretamente, um gigabyte, em vez de um gibibyte) de memória RAM instalada, como a memória é contada em potência de dois, o adequado é dizer 1 GiB, que equivale a 1024 MiB.
Todos os fabricantes de dispositivo de armazenamento usam potências de dez. Então o anunciado disco com 80 GB (ainda incorretamente, pois o certo é 80 Gbytes), terá aproximadamente 80 bilhões de bytes, que correspondem a ~74,5 GiB.
Quando os computadores tinham 32 KiB de memória RAM, esta confusão não era séria, já que a diferença entre 2
10 e 10
3 é de aproximadamente 2,4%; mas com o crescimento das capacidades, tanto da memória RAM como dos discos rígidos, provoca um erro relativo cada vez maior. A diferença entre um TiB e um terabyte chega a cerca de 10,0%.