Я видел три способа преобразования байтов в мегабайты:
- мегабайты = байты / 1000000
- мегабайты = байты / 1024/1024
- мегабайты = байты / 1024/1000
Хорошо, я думаю, что №3 совершенно неправильный, но я это видел. Я думаю, что №2 правильный, но я ищу авторитетные источники (например, W3C, ISO, NIST и т.д.), чтобы уточнить, какой мегабайт является настоящим мегабайтом. Может ли кто-нибудь процитировать источник, который подробно объясняет, как выполняется этот расчет?
Бонусный вопрос: если №2 - мегабайт, как называются №1 и №3?
Кстати: производители жестких дисков не считают это авторитетом!
math
memory
terminology
units-of-measurement
Пользователь1
источник
источник
Ответы:
Традиционно под мегабайтом мы подразумеваем второй вариант - 1 мегабайт = 2 20 байтов. Но на самом деле это неправильно, потому что мега означает 1 000 000. Есть новое стандартное имя для 2 20 байт, это мебибайт ( http://en.wikipedia.org/wiki/Mebibyte ), и оно набирает популярность.
источник
Существует стандарт IEC, который различает термины, например Мебибайт = 1024 ^ 2 байта, но Мегабайт = 1000 ^ 2 (для совместимости с единицами СИ, такими как килограммы, где k / M / ... означает 1000/1000000). На самом деле большинство людей в области ИТ предпочтут мегабайт = 1024 ^ 2, а производители жестких дисков предпочтут мегабайт = 1000 ^ 2 (поскольку размеры жесткого диска будут казаться больше, чем они есть на самом деле).
На самом деле, большинство людей сбиты с толку стандартом IEC (множитель 1000) и традиционным значением (множитель 1024). В общем, не следует делать предположений о том, что имеют в виду люди. Например, 128 кбит / с для MP3 обычно означает 128000 бит, поскольку множитель 1000 в основном используется с единичными битами. Но часто люди тогда называют 2048 кбит / с равным 2 МБит / с - сбивает с толку, а?
Так что, как правило, не доверяйте битам / байтам вообще;)
источник
О, да, они это делают (и определение, которое они принимают из SI, является правильным). По связанной проблеме см. Этот пост на CodingHorror.
источник
Разделить
2
на в степени20
,(1024*1024)
байты =1
мегабайтЭто то же самое.
источник
Вот что говорится в стандарте (SI):
http://physics.nist.gov/Pubs/SP330/sp330.pdf#page=34
источник
Ответ заключается в том, что номер 1 технически верен на основе реального значения префикса Mega, однако (а в жизни всегда есть, однако) математика для этого не так хороша в базе 2, как подсчитывают компьютеры. Итак, №2 - это то, что люди действительно используют.
источник
Используйте вычисления, которые, скорее всего, ожидают ваши пользователи. Ваши пользователи заботятся о том, сколько фактических байтов находится на диске, в памяти или где-то еще, или их заботит только полезное пространство? Ответ на этот вопрос подскажет вам, какой расчет имеет наибольший смысл.
Это не столько вопрос точности, сколько вопрос удобства использования. Предоставьте наиболее полезный для пользователей расчет.
источник
Мегабайт означает 2 ^ 20 байтов. Я знаю, что технически это не соответствует единицам СИ, и что некоторые люди придумали новую терминологию для обозначения 2 ^ 20. Все это не имеет значения. Попытки изменить язык, чтобы «прояснить» вещи, обречены на провал.
Производители жестких дисков используют его для обозначения 1000000 байтов, потому что это то, что он означает в SI, поэтому они полагают, что технически они не лгут (хотя на самом деле это так). Это подпадает под ложь, чертову ложь и маркетинг.
источник
В общем, неправильно использовать десятичные префиксы СИ (например, кило, мега) при обращении к размерам двоичных данных (кроме случайного использования). Это неоднозначно и вызывает недоумение. Чтобы быть точным, вы можете использовать двоичные префиксы (например, 1 мебибайт = 1 MiB = 1024 kibibytes = 2 ^ 20 байтов). Когда кто-то другой использует десятичные префиксы SI для двоичных данных, вам нужно получить больше информации, прежде чем вы сможете понять, что имеется в виду.
источник