|
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 141
|
|
Вычислить офсет в памяти.20.04.2016, 10:07. Показов 5315. Ответов 8
Метки нет (Все метки)
Есть внешняя память. 512 страниц. каждая страница 64 байт.
на каждой странице первые 4 байта - метка и потом 5 записей по 12 байт. у меня есть структура в которой я записываю номер текущей страницы и номер текущей записи на странице. нужно считать например N-ю запись от текущей. сижу думаю над алгоритмом. ничего красивого в голову не приходит. может кто подскажет интересное решение? <Изображение удалено>
0
|
|
| 20.04.2016, 10:07 | |
|
Ответы с готовыми решениями:
8
Офсет позиции мыши и как заставить Graphics смотреть на мышь Подсистема хранения данных состоит из памяти северного , памяти южного моста и памяти винчестера?
|
|
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
||||||
| 20.04.2016, 10:26 | ||||||
|
Примерно как-то так
Или нужно вычислить адрес?
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 141
|
||
| 20.04.2016, 10:30 | ||
log = myStrucrt.currentLog + (N % 5); if (log >= 5) { log = log - 5; page++; } if (page >= 512) { //error } Тут я вычисляю номер страницы и номер записи, отстоящий на N от текущей записи и страницы. Или нужно вычислить адрес? но у нас есть метка 4 байта в начале каждой страницы. мы должны учитывать и ее тоже. в этом вся загвоздка. нужно знать адресс откуда считать требуемую запись.
0
|
||
|
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
||||||
| 20.04.2016, 10:36 | ||||||
|
Ну тоесть нам нужно адрес лога в памяти
Делаем функцию, котором передаем номер страницы и номер лога на странице
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 141
|
||
| 20.04.2016, 10:57 | ||
{ uint32_t address = (pageIndex * 64) + 4 + (logIndex * 12); return address; } завидую людям с мозгами. :) сейчас попробую. это адрес текущей записи а нам надо адрес скажем 10-ой записи от текущей. то есть 10 записей назад.
0
|
||
|
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
||||||
| 20.04.2016, 12:50 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 141
|
||
| 20.04.2016, 13:07 | ||
const int LOGS_PER_PAGE = 5; const int LOG_LENKTH = 12; const int PAGE_LENKTH = HEADER_LENKTH + LOG_LENKTH * LOGS_PER_PAGE; inline int LogNum(int page, int idx) { return page * LOGS_PER_PAGE + idx; } inline int LogPage(int num) { return num / LOGS_PER_PAGE; } inline int LogIdx(int num) { return num % LOGS_PER_PAGE; } inline int LogOffset(int page, int idx) { return page * PAGE_LENKTH + HEADER_LENKTH + idx * LOG_LENKTH; } inline int LogOffset(int num) { return LogOffset(LogPage(num), LogIdx(num)); } LogOffset(n + 10); а что такое n в LogOffset(n + 10); ? а аргумент int num - это текущий адрес?
0
|
||
|
0 / 0 / 0
Регистрация: 13.02.2016
Сообщений: 141
|
|
| 20.04.2016, 17:21 | |
|
спасибо всем за помощь. :)
0
|
|
| 20.04.2016, 17:21 | |
|
Помогаю со студенческими работами здесь
9
Вычислить суммарный объем памяти Вычислить адрес ячеики памяти Как вычислить размер памяти метода? Как вычислить объем памяти в контейнере? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|