Я посмотрел на жесткий диск и нашел документ (от Toshiba, ссылка: 2,5-дюймовый жесткий диск SATA mq01abdxxx ), в котором говорится:
«Один гигабайт (1 ГБ) означает 10 ^ 9 = 1 000 000 000 байт с использованием степеней 10. Однако операционная система компьютера сообщает о емкости хранилища с использованием степеней 2 для определения 1 ГБ = 2 ^ 30 = 1 073 741 824 байт и, следовательно, показывает меньше места для хранения». вместимость."
Тогда степени 10 больше, чем степени 2, хорошо.
Пример 10 ^ 2 = 100 и 2 ^ 2 = 4.
Но я не понимаю документ, который говорит для той же емкости хранения:
1 ГБ - 1 000 000 000 байтов (степени 10) и 1 073 741 824 байта (степени 2), затем: он показывает меньший объем памяти (степени 2). Почему это меньше? Если я увижу на 1 ГБ больше емкости в степени 2, чем степени 10.
источник
Ответы:
Историческая причина использования степеней 2 заключается в том, что центральный процессор использует память и жесткий диск, используя адресное пространство, состоящее из строк в двоичном коде. Производители оборудования определили имена следующим образом:
2^10 = 1024 and as it's almost 1000 then call it 1 Kilobyte
2^20 = 1048576 bytes and as it's almost 1000000 then call it 1 Megabyte
Для обычного пользователя это чепуха и обременительно. Кроме того, префиксы «килограмм», «мега» и т. Д. Вступают в конфликт со стандартом Международной системы единиц (СИ), где «1 киловатт» означает 10 ^ 3 или 1000 Вт.
Чтобы решить эту проблему, в 2000 году Международная электротехническая комиссия или МЭК предложили схему обозначений для блоков, основанных на степенях 2, по норме ISO / IEC 80000-13 .
Новые имена были созданы путем замены второго слога в старом имени на «би» (имеется в виду «2»). Килобайт должен быть в настоящее время в kibibyte и так далее. Новые блоки также получили соответствующие символы, поэтому «10 кибибайт» теперь записывается как 10 КиБ вместо 10 КБ . Это таблица соответствия:
Спустя 16 лет многие производители аппаратного и программного обеспечения все еще ссылаются на устройства base-2 со своими именами SI . «Мегабайт» может означать 1000000 байт или 1048576 байт.
Если вы покупаете жесткий диск объемом 100 ГБ, его емкость составляет 100x10 ^ 9 или 10 ^ 11 байт. Но, и это большое но, операционная система будет сообщать только о том, что диск имеет емкость 93 ГБ
(10^11)/(2^30)
. Вы купили диск объемом 100 гигабайт , что эквивалентно дисководу емкостью 93 гигабайта . Операционная система использует неверную запись.Производители дисков скрывают эту проблему с отказами от ответственности и объяснениями, которые всегда приводят к выводу, что «фактическая емкость может быть меньше».
источник
Короче говоря: все дело в маркетинге.
jcbermu объяснил хорошо, но я не согласен с причинами всего этого.
В то время как любая система информатики использует двоичную систему, биты и байты записываются как ^ 2, что является нормальным. Так что это не операционная система или программное обеспечение виноваты в замешательство. Здесь все двоично.
Производители жестких дисков виноваты в том, что они указали емкость жесткого диска в системе ^ 10, что лишает вас практических ГБ. Жесткий диск объемом 20 ГБ будет на самом деле способен хранить 18 ГБ и т. Д. На 1 ТБ диск будет иметь размер ~ 930 ГБ. Издевательство над «бибитом» было изобретено, чтобы попытаться предотвратить некоторую путаницу, но его практически не приняли на практике.
источник
It's the fault of HDD manufacturers to state the HDD capacities in ^10 system, which robs you of quite some practical GB.
Нет, ни одна из этих вещей не является правдой. Производители HD - это те, кто все это делал правильно, используя фактическое, правильное определение единиц. Они не виноваты в том, что разработчики, производители памяти и все, кто еще не использовал модули SI, были неточными. И, конечно же, то, в какой единице измеряется пространство для хранения, «не отнимает у вас практических ГБ» и не изменяет емкость каким-либо образом.Ответ jcbermu хорош, но я хочу подойти к этому с другой стороны.
Носитель - любой носитель - может хранить определенное количество доступных битов. Обычно в вычислениях общего назначения это выражается в байтах или нескольких кратных байтах, но если вы начнете рассматривать, например, интегральные микросхемы памяти (интегральные схемы, микросхемы), вы увидите их емкость памяти, выраженную в терминах доступных битов.
На жестком диске будет храниться определенное количество битов или байтов, которые по техническим причинам рассматриваются в разрезе секторов. Например, накопитель на 4 ТБ может иметь 7 814 037 168 секторов по 512 байт каждый, что соответствует емкости хранения 4 000 787 030 016 байт. Это то, что вы на самом деле получаете. (На практике вы затем теряете часть этого из бухгалтерской информации компьютера: файловая система, журнал, разбиение на разделы и т. Д. Однако, байты все еще там, вы просто не можете использовать их для хранения файлов, потому что они необходимы для хранения данные, которые позволяют эффективно хранить файлы.)
Конечно, число 4000787,030,016 несколько громоздко. По этой причине мы решили представлять эту информацию другим способом. Но, как показал jcbermu, мы решили сделать это двумя различными способами: в десяти силах или в двух силах.
В степенях десять 4 000 787 030 016 байт - это 4.000787030016 * 10 ^ 12 байт, которые округляются довольно хорошо; с четырьмя значащими цифрами округляется до 4,001 ТБ для определения SI «тера»: 10 ^ 12. Наш жесткий диск может хранить более 4 * 10 ^ 12 байт, поэтому с точки зрения СИ это устройство хранения объемом 4 терабайта.
В степенях два 4 000 787 030 016 байт составляют 3,638694607 * 2 ^ 40 байт, что не очень хорошо округляется. Это также выглядит как меньшее количество, потому что 3.639 меньше, чем 4.001, и это плохо для маркетинга (кто хочет купить диск на 3,6 ТБ, когда производитель по соседству продает диск на 4,0 ТБ по той же цене?). Это двоичный префикс 3.6 "tebibytes", где "bi" указывает на то, что это величина два основания.
В действительности, однако, это точно такое же количество байтов; число выражается только по-разному! Если вы выполните математику снова, вы увидите, что 3.638694607 * 2 ^ 40 = 4.000787030016 * 10 ^ 12, так что в итоге вы получите тот же объем памяти.
источник
Другие ответы касались исторической причины разницы, но мне кажется, что вы спрашиваете о разнице в соответствии с математикой.
Вы правы в том, что одна степень 10 больше, чем одна степень 2, и что один гигабайт (10 ^ 9 байт) меньше одного гибибайта (2 30 байт).
Изменение размеров объясняется тем фактом, что в одном гибибайте больше возможностей (30 степеней), чем в одном гигабайте (9 степеней). Оказывается, что количество сил оказывает большее влияние на окончательный размер, чем размер каждой отдельной силы.
Что касается того, почему указанный размер диска меньше при измерении в гигабайтах (2 ^ 30), чем при измерении в гигабайтах (10 ^ 9), естественно, что при измерении фиксированной величины большая единица измерения дает меньшее число , Например, рассмотрим высоту в дюймах против высоты в сантиметрах. Поскольку один дюйм больше, чем один сантиметр, такая же высота будет измерять меньше дюймов (например, 72 дюйма), чем сантиметры (например, 183 сантиметра). Высота является одинаковым физическим расстоянием в обоих случаях, но каждое измерение просто дает различное число в соответствии с единицей измерения.
источник