Во всём виноваты маркетологи, естественно (нет).

Раз в несколько месяцев очередной разработчик задаётся вопросом: как же так, всю жизнь считал, что данные в компьютере основаны на двоичной системе, и в байте число бит — это степени двойки, поэтому и килобайт должен быть 2^10 это 1024, поэтому и мегабайт это 2^20 то есть 1048576, и так далее… А те, кто думает, что в мегабайте МИЛЛИОН байт потому что он так называется, просто тупые филологи и не знают, как устроены компьютеры. И вообще вроде бы есть специальные названия для обозначения этих «ровных», но «неправильных» мегабайт, но я их не помню, потому что нахрена мне это сдалось.
Но нет. Это эффект Манделы.
На самом деле в мегабайте миллион байт. А вот 1048576 байт — это мебибайт, или 2^20 байт, обозначается МиБ или MiB.
В компьютерах действительно хранение данных основано на двоичном коде: биты и байты не «лежат» ровными стопочками по десять штук. Но дело в том, что в системе СИ приставки «кило», «мега», «гига» работают именно в десятичной системе и обозначают, соответственно, тысячи, миллионы и миллиарды. И согласно стандартам системы СИ, мегабайт = 10^6 байт, а не 2^20.
Ранние ОС действительно использовали систему подсчёта данных, основанную на степенях двойки, и этот подход до сих пор используется для подсчёта, например, количества доступной оперативной памяти. Но для разрешения конфликта между традиционным и «компьютерным» использованием этих древнегреческих приставок швейцарская Международная электротехническая комиссия (IEC) в 1998-1999 годах ввела терминологию — киби-, меби-, гиби-, теби- и так далее — для того, чтобы отличать одно от другого и устранить растущую путаницу среди пользователей.
Конечно, никакой путаницы устранить не удалось. Покупаешь жёсткий диск — на коробке написано 500 ГБ, а на самом деле там 465 ГиБ. В гигабайтах тут считать выгоднее, вот маркетологи и насаждают это потребителям. Но на плашках RAM — «честные» гибибайты: сколько указано, столько и получаешь, только пишут всё равно 16 GB, а не 16 GiB. Доходит до того, что на одном экране в системе может находиться несколько параметров в разных исчислениях. Эту шизу хорошо отразили в комиксе xkcd ещё в 2008 году.

А ещё есть провайдеры, которое скорости измеряют в мегабитах в секунду, а не мегабайтах (так скорость выглядит в 8 раз больше), и там тоже срачи между сетевыми инженерами, которые считают 1 Мбит/с = 1 048 576 бит/с, в то время как у телекомщиков принято 1 000 000 бит/с…
Можно, конечно, поискать конспирологию в том, что это производители накопителей пролоббировали IEC именно так, выгодно для производителей, стандартизировать мегабайты и их подсчёт. Или всё-таки на заре компьютеров бумеры-основатели зря решили пойти против существующих стандартов и называть количество данных «округлённо», потому что так было проще.
Потому что иди попробуй подвинуть систему СИ.
Источник: https://habr.com/ru/articles/947720/