Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

Коллеги глупый но все же интересный вопрос! Один гибибайт состоит из 1073741824 байт памяти. Почему разработчики выбрали такое странное число (степень двойки) вместо какого нибудь хорошо запоминающегося, например 1000000000? Это просто табу для удобства или есть другое объяснение этому феномену? Я лично не вижу ни аппаратных ни программных преград для этого( даже несмотря на двоичную систему счисления, это ни как не мешает группировать байты в произвольном для нас блоке).
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2014, 23:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Степень двойки для отражения размера памяти (C++):

Вычислить 10-ю степень двойки сложением, умножением и просто возведением в степень. - C++
Написать код на С++ или С# или на Java Вычислить 10-ю степень двойки 1 - сложением, умножением и просто возведением в степень.

степень двойки - C++
Вводится число. Напечатать YES, если оно является степенью двойки, NO - иначе. int a,b=1; cin>>a; for(;;) { b=b*2; ...

Степень двойки - C++
Изучаю программирование. Попытался решить известную задачу. Программа компилируется, но если ввести к примеру 8 она выдает "no". В чем я...

Найти степень двойки - C++
Дано целое число N>0, являющееся некоторой степенью числа 2:N=2 ^k. Найти целое число К - показатель этой степени. Если можно на С

Максимальная степень двойки - C++
"F(a, b) = x - 1, где x - максимальная степень двойки, на которую делится нацело a-b, если a ≠ b и F(a, b) = -1, если a = b." Это как...

Точная степень двойки - C++
Само задание: Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае. ...

7
Melg
538 / 159 / 64
Регистрация: 23.09.2013
Сообщений: 314
02.05.2014, 23:41 #2
На мой взгляд всё упирается в способ организации доступа к памяти, и в частности способу адресации памяти.
2
zer0mail
2378 / 2009 / 200
Регистрация: 03.07.2012
Сообщений: 7,246
Записей в блоге: 1
02.05.2014, 23:42 #3
1.Глупый вопрос не может быть интересным.
2.Почему именно 2^30 вызывает неприятие, к 2^10 и 2^20 замечаний нет?
3.Для 1000000000 давно есть имя (миллиард), зачем плодить имена?
0
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
02.05.2014, 23:51  [ТС] #4
По моему ты вопроса не понял

Добавлено через 5 минут
Melg объясни что ты конкретно имел введу
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 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 году:
0
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
03.05.2014, 00:03  [ТС] #6
Глупый вопрос не может быть интересным? Ну по крайней мере ты на него ответа внятного не дал.

Добавлено через 8 минут
Croessmah, вопрос почему они предложили использовать степень двойки и чем они это аргументировали
Ps в приведенная ссылка не дает ответа на поставленный вопрос
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.05.2014, 00:08 #7
Зачем мешать десятичную и двоичную с.с., если речь конечно не о производителях жестких дисков
0
gng
645 / 491 / 133
Регистрация: 08.09.2013
Сообщений: 1,326
03.05.2014, 12:35 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от stawerfar Посмотреть сообщение
Я лично не вижу ни аппаратных ни программных преград для этого( даже несмотря на двоичную систему счисления, это ни как не мешает группировать байты в произвольном для нас блоке).
Вам пояснили в первом же ответе.
Если, к примеру, ширина шины адреса = 32, то можно адресовать 2**32 = 4GiB памяти (Или 4Гбайт по нашему). Это число - целое и удобное. При расчете 1G=10**9 byte при покупке планки памяти, ее объем задавался бы дробным числом, что неудобно.

Вспомнился старый анекдот в форме риторического вопроса.
Чем отличается начинающий программист от продвинутого?
Начинающий считает, что в одном килобайте 1000 байт, а продвинутый,что в одном километре - 1024 метра.
0
03.05.2014, 12:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2014, 12:35
Привет! Вот еще темы с ответами:

Модульное деление на степень двойки - C++
Раньше я всегда использовал примерной такой подход : int mod = 8; int a = 90412488; char b = 113; int modA, modB; modA = a &...

Степень двойки в степени десятки - C++
Допустим, есть большое число типа double или extended. Дана степень десятки: 1Е+228. 1Е+228=2760. Вот задача: Сколько степеней двойки в...

Степень двойки и остаток от деления - C++
Цель: Возведите 2 в 75 степень, выведите остаток от деления полученного числа на 8^4-3 Входные данные: Нет входных данных Выходные...

Возведение двойки в 40-вую и более степень - C++
Здравствуйте! Нужно реализовать возведение двойки в 40-вую и более степень. Вот мой код С++: #include <iostream> using namespace...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.