O ponto inteiro está nos prefixos. Os prefixos padrão do SI aumentam em 10 ^ 3. Então nós temos quilo que é 1000 (10 ^ 3), então nós temos mega que é 1000000 (10 ^ 6) e assim por diante. Por alguma razão, esses prefixos estão sendo usados incorretamente pelos cientistas da computação para representar 2 ^ 10 (que é 1024).
Para resolver o problema, um novo conjunto de prefixos foi introduzido, cuja etapa é 2 ^ 10. Então agora temos um kibibyte (KiB) que é 1024 bytes, um mebibyte (MiB) que é 1048576 (2 ^ 20) bytes e assim por diante.
Infelizmente, esses novos prefixos não ambíguos não foram adotados pela Microsoft e pela Apple, portanto os sistemas operacionais criados por eles ainda estão espalhando confusão.
Então, para encurtar a longa história, os fabricantes de discos rígidos estão corretos, mas a interpretação deles de mega e giga é diferente da usada em ciência da computação.
Aqui é um bom artigo da Wikipedia sobre isso.