Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 10

Работа с памятью

24.06.2012, 15:11. Показов 2229. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, уважаемы дамы и господа!

Я не тру программер, только учусь. И у меня возник такой вопрос, на который я сам себе ответил, НО хотелось бы себя и проверить - верно ли ?

Вопрос стоял так -
Загружаем в память значения типа long a = 0; // если я правильно понимаю, то данный тип занимает 64 бита в памяти.
while(a){ // загружем в память от 0 и пока не закончится память.
a++;
}
Мы имеем строго и ровно 1024 мб оперативной памяти.
Сам вопрос, сколько мы сможем сохранить значений типа long в оперативной памяти.
Форумула решения токава:
Один Килобайт = 1024 байт.
Один Мегабайт = 1 048 576 Байт.
Один Гигабайт = 1 073 741 824 Байт.
В итоге: 1 073 741 824 \ 64 = 16 777 216
Ответ: 16 777 216 значений мы можем сохранить в оперативной памяти типа long

Уточните, пожалуйста, верно ли мое суждение?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.06.2012, 15:11
Ответы с готовыми решениями:

Работа с памятью
задача в следующем :нужно внедриться в процес и поочередно просматривать ячейки памяти записывая содержимое в переменную стринг. тогда...

Нужна книга, где рассматриваются работа с прерываниями, указатели, работа с памятью, ассемблерные вставки
Привет всем! Подскажите, пожалуйста, хорошую книгу по C (именно C, не C++). Интересует работа с прерываниями, указатели, работа с памятью,...

Работа с памятью
Добрый вечер! Знаете ли вы какие-нибудь полезные источники, где хорошо описывается, как работать с памятью? Заранее благодарю.

6
 Аватар для RGentum
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
24.06.2012, 16:17
Цитата Сообщение от DVirt Посмотреть сообщение
Загружаем в память значения типа long a = 0; // если я правильно понимаю, то данный тип занимает 64 бита в памяти.
while(a){ // загружем в память от 0 и пока не закончится память.
a++;
}
а Вы данный код вбивали? Конструкция while принимает аргумент типа boolean, а у Вас long. А что именно Вы хотите?

Добавлено через 12 минут
И раз уж Вам нужно узнать сколько значений типа long может поместиться в 1024 Мб памяти, то делить последнее число необходимо не на 64, а на 8, т.к. 64 БИТА, а число у Вас в байтах

Добавлено через 1 минуту
т.е. количество равно 134217728 значений long.
0
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 10
24.06.2012, 20:55  [ТС]
Простите:
Загружаем в память значения типа long a = 0; // если я правильно понимаю, то данный тип занимает 64 бита в памяти.
while(true){ // загружем в память от 0 и пока не закончится память.
a++;
}
Вот так будет правильнее.

Увы, к сожалению, я воспринил, то что бит - это и есть байт. Теперь мне понятно, что в 1 байт = 8 бит.

Спасибо за ответ!
0
 Аватар для exiqa
487 / 333 / 71
Регистрация: 24.12.2011
Сообщений: 591
25.06.2012, 01:58
правильней не будет, потому что просто инкрементируется значение _одной_ переменной и программа зациклится.

Не по теме:

PS. признаюсь, лично для меня не совсем очевидно, в каком случае знание данной информации может оказать полезным :)

0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
25.06.2012, 08:45
жаль вас разочаровывать, но сколько не инкременти long, память загадить у вас не выйдет ))) максимум на что вы можете рассчитывать при "таком" подходе - это значение http://docs.oracle.com/javase/... /Long.html MAX_VALUE, а потом всё начнётся сначала и так до бесконечности ).
0
 Аватар для RGentum
1 / 1 / 0
Регистрация: 24.06.2012
Сообщений: 49
25.06.2012, 09:25
Цитата Сообщение от mutagen Посмотреть сообщение
память загадить у вас не выйдет
и это правда
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
25.06.2012, 10:52
Цитата Сообщение от mutagen Посмотреть сообщение
максимум на что вы можете рассчитывать при "таком" подходе - это значение http://docs.oracle.com/javase/... /Long.html MAX_VALUE, а потом всё начнётся сначала и так до бесконечности ).
Немного не так. После увеличения на 1 MAX_VALUE превращается в MIN_VALUE, дорастает до нуля, а дальше действительно всё начнется сначала.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.06.2012, 10:52
Помогаю со студенческими работами здесь

Работа с памятью
Всем добрый день. У меня появился такой вопрос: Предположим, есть такой код: AnotherObj GetAO() { SomethingObj A = new...

Работа с памятью
Захватить один кусок памяти размером N Кбайт. Заполнить его нулями. Захватить другой кусок памяти размером M Кбайт памяти и записать туда...

Работа с памятью
Как можно "выделить" и освободить память? нужно 2-мя способами: с помощью Си шарпа и с помощью апи функций, помогите плз

работа с памятью
У меня есть 2 вопроса 1й - я записывал текст в текстовый документ и когда записываемый текст превысил 10мб то мне написало что не...

Работа с памятью
Всем хай! Посоветуйте, где почитать, как php использует память внутри своего ядра и память самого сервера! Не совсем понятна...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru