Já vi três maneiras de fazer a conversão de bytes em megabytes:
- megabytes = bytes / 1000000
- megabytes = bytes / 1024/1024
- megabytes = bytes / 1024/1000
Ok, acho que o nº 3 está totalmente errado, mas já vi. Acho que o nº 2 está certo, mas estou procurando alguma autoridade respeitada (como W3C, ISO, NIST, etc) para esclarecer qual megabyte é um megabyte verdadeiro. Alguém pode citar uma fonte que explique explicitamente como esse cálculo é feito?
Pergunta bônus: se o número 2 for um megabyte, como são chamados os números 1 e 3?
BTW: Os fabricantes de discos rígidos não contam como autoridades neste caso!
math
memory
terminology
units-of-measurement
Usuário1
fonte
fonte
Respostas:
Tradicionalmente, por megabyte, queremos dizer sua segunda opção - 1 megabyte = 2 20 bytes. Mas, na verdade, não está correto porque mega significa 1 000 000. Há um novo nome padrão para 2 20 bytes, é mebibyte ( http://en.wikipedia.org/wiki/Mebibyte ) e está ganhando popularidade.
fonte
Há um padrão IEC que distingue os termos, por exemplo, Mebibyte = 1024 ^ 2 bytes, mas Megabyte = 1000 ^ 2 (para ser compatível com unidades SI como quilogramas, onde k / M / ... significa 1000/1000000). Na verdade, a maioria das pessoas na área de TI preferirá Megabyte = 1024 ^ 2 e os fabricantes de disco rígido preferirão Megabyte = 1000 ^ 2 (porque os tamanhos dos discos rígidos soarão maiores do que são).
Na verdade, a maioria das pessoas se confunde com o padrão IEC (multiplicador 1000) e o significado tradicional (multiplicador 1024). Em geral, você não deve fazer suposições sobre o que as pessoas querem dizer. Por exemplo, 128 kBit / s para MP3s geralmente significa 128000 bits porque o multiplicador 1000 é usado principalmente com os bits de unidade. Mas muitas vezes as pessoas então chamam 2048 kBit / s igual a 2 MBit / s - confuso né?
Portanto, como regra geral, não confie em unidades de bit / byte;)
fonte
Ah, sim, eles fazem (e a definição que eles assumem do SI é a correta). Sobre um assunto relacionado, veja esta postagem no CodingHorror.
fonte
Divida pela
2
potência de20
,(1024*1024)
bytes =1
megabyteÉ a mesma coisa.
fonte
Aqui está o que o padrão (SI) diz:
http://physics.nist.gov/Pubs/SP330/sp330.pdf#page=34
fonte
A resposta é que # 1 é tecnicamente correto com base no significado real do prefixo Mega, no entanto (e na vida há sempre um entretanto) a matemática para isso não sai tão boa na base 2, que é como os computadores contam , então # 2 é o que as pessoas realmente usam.
fonte
Use a computação que seus usuários provavelmente esperam. Seus usuários se preocupam em saber quantos bytes reais estão em um disco ou na memória ou qualquer outra coisa, ou eles só se preocupam com o espaço utilizável? A resposta a essa pergunta dirá qual cálculo faz mais sentido.
Esta não é uma questão de precisão, mas sim de usabilidade. Forneça o cálculo mais útil para seus usuários.
fonte
Megabyte significa 2 ^ 20 bytes. Eu sei que tecnicamente isso não combina com as unidades do SI, e que algumas pessoas criaram uma nova terminologia para significar 2 ^ 20. Nada disso importa. Os esforços para mudar a linguagem para "esclarecer" as coisas estão fadados ao fracasso.
Os fabricantes de discos rígidos usam isso para significar 1.000.000 bytes, porque é isso que significa no SI, então eles descobrem que tecnicamente não estão mentindo (quando na verdade estão). Isso se enquadra em mentiras, malditas mentiras e marketing.
fonte
Em geral, é errado usar prefixos SI decimais (por exemplo, quilo, mega) ao se referir a tamanhos de dados binários (exceto no uso casual). É ambíguo e causa confusão. Para ser mais preciso, você pode usar prefixos binários (por exemplo, 1 mebibyte = 1 MiB = 1024 kibibytes = 2 ^ 20 bytes). Quando outra pessoa usa prefixos SI decimais para dados binários, você precisa obter mais informações antes de saber o que isso significa.
fonte