Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
#1

Степень двойки для отражения размера памяти - C++

02.05.2014, 23:14. Просмотров 425. Ответов 7
Метки нет (Все метки)

Коллеги глупый но все же интересный вопрос! Один гибибайт состоит из 1073741824 байт памяти. Почему разработчики выбрали такое странное число (степень двойки) вместо какого нибудь хорошо запоминающегося, например 1000000000? Это просто табу для удобства или есть другое объяснение этому феномену? Я лично не вижу ни аппаратных ни программных преград для этого( даже несмотря на двоичную систему счисления, это ни как не мешает группировать байты в произвольном для нас блоке).
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melg
537 / 158 / 64
Регистрация: 23.09.2013
Сообщений: 314
02.05.2014, 23:41     Степень двойки для отражения размера памяти #2
На мой взгляд всё упирается в способ организации доступа к памяти, и в частности способу адресации памяти.
zer0mail
Заблокирован
02.05.2014, 23:42     Степень двойки для отражения размера памяти #3
1.Глупый вопрос не может быть интересным.
2.Почему именно 2^30 вызывает неприятие, к 2^10 и 2^20 замечаний нет?
3.Для 1000000000 давно есть имя (миллиард), зачем плодить имена?
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
02.05.2014, 23:51  [ТС]     Степень двойки для отражения размера памяти #4
По моему ты вопроса не понял

Добавлено через 5 минут
Melg объясни что ты конкретно имел введу
Croessmah
Модератор
Эксперт CЭксперт С++
12730 / 7190 / 802
Регистрация: 27.09.2012
Сообщений: 17,738
Записей в блоге: 2
Завершенные тесты: 1
02.05.2014, 23:53     Степень двойки для отражения размера памяти #5
Википедия:
Гигабайт (обозначение Гбайт) — кратная единица измерения количества информации, равная 230 = 1 073 741 824 байт[1] (согласно предложению международной электротехнической комиссии является гибибайтом). Согласно ГОСТ 8.417-2002 термин гигабайт с обозначением "ГБ" равен 109 = 1 000 000 000 байт[1].

На территории Российской федерации термин Гбайт обязан использоваться для обозначения 230 = 1 073 741 824 байт, согласно постановлению Правительства РФ, принятому в 2009 году:
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
03.05.2014, 00:03  [ТС]     Степень двойки для отражения размера памяти #6
Глупый вопрос не может быть интересным? Ну по крайней мере ты на него ответа внятного не дал.

Добавлено через 8 минут
Croessmah, вопрос почему они предложили использовать степень двойки и чем они это аргументировали
Ps в приведенная ссылка не дает ответа на поставленный вопрос
Tulosba
:)
Эксперт С++
4387 / 3230 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
03.05.2014, 00:08     Степень двойки для отражения размера памяти #7
Зачем мешать десятичную и двоичную с.с., если речь конечно не о производителях жестких дисков
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2014, 12:35     Степень двойки для отражения размера памяти
Еще ссылки по теме:

Сделать с помощью массива возведение двойки в произвольную степень. C++
C++ Возведение двойки в большую степень (длинное число)
Точная степень двойки C++
C++ Возведение двойки в 40-вую и более степень
C++ Степень двойки и остаток от деления

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
gng
626 / 472 / 127
Регистрация: 08.09.2013
Сообщений: 1,219
03.05.2014, 12:35     Степень двойки для отражения размера памяти #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от stawerfar Посмотреть сообщение
Я лично не вижу ни аппаратных ни программных преград для этого( даже несмотря на двоичную систему счисления, это ни как не мешает группировать байты в произвольном для нас блоке).
Вам пояснили в первом же ответе.
Если, к примеру, ширина шины адреса = 32, то можно адресовать 2**32 = 4GiB памяти (Или 4Гбайт по нашему). Это число - целое и удобное. При расчете 1G=10**9 byte при покупке планки памяти, ее объем задавался бы дробным числом, что неудобно.

Вспомнился старый анекдот в форме риторического вопроса.
Чем отличается начинающий программист от продвинутого?
Начинающий считает, что в одном килобайте 1000 байт, а продвинутый,что в одном километре - 1024 метра.
Yandex
Объявления
03.05.2014, 12:35     Степень двойки для отражения размера памяти
Ответ Создать тему
Опции темы

Текущее время: 06:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru