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

Выделить память под массив размера 2^64 байтов - C++

Восстановить пароль Регистрация
 
jobster
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 45
27.06.2014, 17:42     Выделить память под массив размера 2^64 байтов #1
Требуется выделить память под массив размера 2^64 байтов. Как порекомендуете решать данную задачу?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2014, 17:42     Выделить память под массив размера 2^64 байтов
Посмотрите здесь:

C++ Выделить память под K целых элементов (K вводится с клавиатуры). Заполнить этот массив числами
Выделить память под массив в 100500 индексе. Возможно ли? C++
C++ Динамически выделить память под массив
C++ Выделить память под динамический массив указателей
C++ Выделить память под двумерный массив за один вызов функции malloc
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
27.06.2014, 18:16     Выделить память под массив размера 2^64 байтов #2
Для начала нужно достать столько памяти.
2^64 = 18 446 744 073 709 551 616 байт

что равно 16 эксабайтам памяти.
jobster
0 / 0 / 0
Регистрация: 11.03.2014
Сообщений: 45
27.06.2014, 18:51  [ТС]     Выделить память под массив размера 2^64 байтов #3
Какие идеи?
nmcf
4281 / 3712 / 1247
Регистрация: 14.04.2014
Сообщений: 14,516
27.06.2014, 19:00     Выделить память под массив размера 2^64 байтов #4
Чтобы были идеи, надо подробнее рассказать, для чего такой массив.
Renji
1534 / 982 / 240
Регистрация: 05.06.2014
Сообщений: 2,958
27.06.2014, 19:00     Выделить память под массив размера 2^64 байтов #5
Цитата Сообщение от jobster Посмотреть сообщение
Требуется выделить память под массив размера 2^64 байтов. Как порекомендуете решать данную задачу?
Покупаешь массив из 2^24 терабайтовых винчестеров, втыкаешь в 128 битовую компьютерную систему и отображаешь в память. Ориентировочный бюджет этого проекта - несколько миллиардов рублев. Те кто может себе позволить такое, дурацких вопросов на Киберфоруме не задают.

Ну а подключив телепатические способности и переведя с авторского на человеческий, скажу что тебе нужен разреженный массив. Вот это в Гугл и вбивай. Не хочешь гуглить - бери std::map с 64 битовым ключом.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,283
27.06.2014, 20:15     Выделить память под массив размера 2^64 байтов #6
Цитата Сообщение от jobster Посмотреть сообщение
Требуется выделить память под массив размера 2^64 байтов. Как порекомендуете решать данную задачу?
Лол, по-ходу тебя троллирует препод
Kukurudza
104 / 85 / 6
Регистрация: 29.08.2012
Сообщений: 539
27.06.2014, 20:25     Выделить память под массив размера 2^64 байтов #7
C++
1
2
3
4
5
6
7
BYTE* massiv = new BYTE[1 << 64];
for (unsigned __int64  i = 0; i < 1 << 64; ++i) {
    massiv[i] = i;
}
for (unsigned __int64  i = 0; i < 1 << 64; ++i) {
    std::cout << massiv[i] << "\n";
}
У меня выделилось. просмотрел элементы через один.
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,283
27.06.2014, 20:28     Выделить память под массив размера 2^64 байтов #8
У тебя там 2^32, а не 2^64. Рассказать почему?
Renji
1534 / 982 / 240
Регистрация: 05.06.2014
Сообщений: 2,958
27.06.2014, 20:29     Выделить память под массив размера 2^64 байтов #9
У него там ровно ноль.
SlavaSSU
213 / 158 / 44
Регистрация: 17.07.2012
Сообщений: 580
27.06.2014, 20:45     Выделить память под массив размера 2^64 байтов #10
Kukurudza, правильней писать "i < (1LL << 64)".

Добавлено через 8 минут
только вот 2^64 все равно переполняется((( ну выдели на 2^60 тогда, чо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.06.2014, 20:48     Выделить память под массив размера 2^64 байтов
Еще ссылки по теме:

выделить и удалить память под 4 мерный массив C++
Как выделить память под динамический двумерный массив C++
Как правильно выделить память под двумерный массив в шаблоне? C++

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

Или воспользуйтесь поиском по форуму:
Kukurudza
104 / 85 / 6
Регистрация: 29.08.2012
Сообщений: 539
27.06.2014, 20:48     Выделить память под массив размера 2^64 байтов #11
unsigned __int64 var = -1;
Yandex
Объявления
27.06.2014, 20:48     Выделить память под массив размера 2^64 байтов
Ответ Создать тему
Опции темы

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