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

Как можно в памяти уместить больше данных ?Большой массив или список маленьких массивов ? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ортогонализация векторов http://www.cyberforum.ru/cpp-beginners/thread624879.html
есть программа : #include <conio.h> #include <iostream> #include<math.h> using namespace std; class Vector{ float x; float y; float z; //координаты вектора float t;
C++ деление на 0 столкнулся с проблемой деления на 0. нужно сделать так. чтобы программа не делила на 0. по средством switch не получалась. вот код #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); //Русский язык int A; float a, b; http://www.cyberforum.ru/cpp-beginners/thread624867.html
C++ Дано строка вывести на экран слова наибольшее каличеством символов
Дано строка вывести на экран слова наибольшее каличеством символов
Рассчитать элементы квадратной матрицы по заданной формуле. C++
Помогите пожалуйста написать программу на С++. Большое Спасибо! 1) рассчитать элементы квадратной матрицы A = (aij ), i,j = 0,1,2,...,n-1 по заданной формуле; 2) сформировать из матрицы A элементы вектора X = (xi), i = 0,1,2,...,n-1 по заданному правилу; 3) провести заданное упорядочение элементов матрицы А или вектора Х. 1) Aij=(pow(j,1/i)+pow(i,1/j))/sqrt(i*j) 2) xi –...
C++ std::list - преобразование типов в контейнере http://www.cyberforum.ru/cpp-beginners/thread624763.html
Здравствуйте. Суть проблемы попробую передать в коде class A { }; class B : public A { public: B (int) {/*...*/} B () {/*...*/}
C++ Ошибка с преобразованием char В задачке дана структура и проттотип функции. Функция должна присваивать имя структуре. Но мне выдаёт ошибку: невозможно преобразовать "const char *" в "char " структура: struct golf { char fullname; int handicap; }; функция void setgolf(golf & g,const char * name, int hc) подробнее

Показать сообщение отдельно
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,368
17.07.2012, 14:32
Ну, дык, в чем проблема?

Решение: представляешь свое число как "виртуальный массив" битов. Весь этот массив хранишь на диске в виде файла, а в память в каждый конкретный момент времени подгружаешь только ту часть этого файла (небольшую), с которой непосредственно сейчас идет работа. Поразрядно, скажем, разряды с 1000001 по 2000000. Ну и выгружаешь обратно на диск, когда она не нужна. Конечно, будет постоянный своп память-диск, что не лучшим образом скажется на быстродействии, но это - неизбежная плата за то, что размер твоего "числа" будет ограничен только размером доступной дисковой памяти.

Следующий шаг - хранить "число" где-нибудь в Инете на дисковом сервере. А возможно, и не на одном :-) Там размер числа лехко можно сделать в терабайты, петабайты.... и так далее, на сколько фантазии хватит.

Не по теме:

Правда, пока неясно, сколько лет придется ждать выполнения операции сложения таких супер-пупер-чисел. Может статься, что за эти годы и компьютер успеет помереть..... :-)



Придумай хоть какую-нибудь прикладную задачу, для которой могут понадобиться такие суперогромные числа...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru