![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| wachiv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2007 Репутация: нет Всего: нет |
Всем привет.
Имеется Сегмент памяти длина от 0 до 49, ширина от 0 до 9. нужно написать метод функцию которая конвертирует логическую адресацию в физическую. Я пока что так сказать чайник, и изобретаю велосипед. Объясните, пожалуйста, сам алгоритм, где копать , где читать. Мне интересна любая информация об этом. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
y от 0 до 49, х от 0 до 9 |
|||
|
||||
| wachiv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2007 Репутация: нет Всего: нет |
Спасибо большое.
думаю, это поможет мне понять эту задачу. |
|||
|
||||
| wachiv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2007 Репутация: нет Всего: нет |
Сегмент (длина 0..49, ширина 0..9)
Как мне это практически сделать, т.е. каждая строка сегмента (как я понимаю имеет свой логический адрес). Как этот адрес можно посмотреть, чтоб после конвертации сравнить и увидеть результат задачи. Мне не с кем посоветоваться, может вопросы не профессиональны, но это единственная у меня возможность посоветоваться. Спасибо. #include <iostream> using namespace std; int main(int argc, char** argv) { int y,adr; int x=0; for(y=0;y<=49;y++) { adr=y*10+x; cout<<"adr= "<<adr<<endl; x++; if (x==10) { x=0; } } } adr= 0 adr= 11 adr= 22 adr= 33 adr= 44 adr= 55 adr= 66 adr= 77 adr= 88 adr= 99 adr= 100 adr= 111 adr= 122 adr= 133 adr= 144 adr= 155 adr= 166 adr= 177 adr= 188 adr= 199 adr= 200 adr= 211 adr= 222 adr= 233 adr= 244 adr= 255 adr= 266 adr= 277 adr= 288 adr= 299 adr= 300 adr= 311 adr= 322 adr= 333 adr= 344 adr= 355 adr= 366 adr= 377 adr= 388 adr= 399 adr= 400 adr= 411 adr= 422 adr= 433 adr= 444 adr= 455 adr= 466 adr= 477 adr= 488 adr= 499 |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
ой. Что это?!? Если тебе надо перебрать все адреса сегмента, то это делается так:
|
|||
|
||||
| wachiv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2007 Репутация: нет Всего: нет |
Спасибо!
Я как понял... Надо как то вывести адреса строк сегмента, а потом после конвертации визуально сравнить с результатом конвертации (из лог в физ) Как увидеть эти ревльные адреса, чтоб я мог сам увидеть результат задачи? Например, 1.Сначала вывести адреса строк сегмента 2. провести конверт из лог в физич 3. визуально сравнить что получилось Может есть какая то функция которая выводит исхолные адреса. Потом их запомнить и уже со значениями этих адресов провести конвертацию |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Одно из двух, или я тебя не понимаю, или ты условие задачи.
Что такое в твоем понимание сегмент? Сегмент в компьютерной терминологии не подразумевает "ширины". Только длину - он одномерный. То о чем ты говоришь - двумерное. Может у тебя массив двумерный? Тогда проверка существует. Статический двумерный массив определяется в твоем случае, как char array[10][50]. Для проверки используй операцию: &array[x][y] == &array[0][0] + (y*10 + x); она должна быть истинна, если я, конечно, не перепутал расположение размерностей. |
|||
|
||||
| wachiv |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 26.7.2007 Репутация: нет Всего: нет |
Верно,... я не совсем понимаю задачи.
Стараюсь разобраться. Данные, которые поступают по-строчно с паузой в 4 миллисек и записываются в сегмент, имеют размер от 0..9 (каждая строка) и заполняют сегмент длиною 0..49. Эти строки 0..9, как результат однострочного изображения с камеры. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |