powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм вычисления страницы
16 сообщений из 16, страница 1 из 1
Алгоритм вычисления страницы
    #39703367
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сильно запутался. Нужна помощь.
Есть память со следующей архитектурой
авторMEMORY = 1815 BLOCKS
1 BLOCK = 64 PAGES
1 PAGE = 4096 BYTE

То есть память разделена на блоки, блоки разделены на страницы, каждая страница 4К.
Мне передают в качестве аргументов офсет и размер данных и на основе этих двух параметров я должен вытащить данные.
Для облегчения задачи мне передают фиксированный размер 65530 байт, соответственно офсет увеличивается на 65530.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
#define PAGESIZE 4096
#define BLOCKSIZE 262144 //64 * 4096;

uint32_t startpage, endpage, pages;
uint32_t page, block, page_chunk;
uint32_t block_idx, page_idx, uart_byte_idx, page_addr;
uint32_t row_address;
uint32_t last_chunk;
uint32_t total_sent_size;
void GetLoggerDataFast(uint32_t offset, uint32_t datasize)
{
    total_sent_size = 0;
    
    last_chunk = datasize % PAGESIZE;
    
    pages = (datasize / PAGESIZE);
    
    if (pages == 0)
        pages = 1;
    else
    {
        if(last_chunk)
            pages++;
    }

    startpage = (offset % BLOCKSIZE) / PAGESIZE;
    endpage = ((offset + datasize) % BLOCKSIZE) / PAGESIZE;
    
    page = startpage;
    
    for (page_idx = 0; page_idx < pages; page_idx++)
    { 
        
    if (page_idx == 0)  
    {
        if (datasize > PAGESIZE)
        {
            page_chunk = PAGESIZE - (offset % PAGESIZE);
            page_addr = (offset % PAGESIZE);
        }
        else
        {
            page_chunk = datasize;
            page_addr = 0;
        }
    }
    else if (page_idx  == ( pages-1)) 
    {
        page_chunk = datasize - ((pages-1) * PAGESIZE);
             //page_chunk = datasize - total_sent_size;
        page_addr = 0;
    }
    else
    {
        page_chunk = PAGESIZE;
        page_addr = 0;
    }
        
        printf ("page num = %d \n", page);
        printf ("page addr = %d \n", page_addr);
        printf ("page chunk = %d \n", page_chunk);
        printf ("-------------------\n");
        
        total_sent_size += page_chunk;
         
        page++;
        if (page > 63)
        {
            page = 0;
        }
    } 
    
     printf ("total size = %d \n", total_sent_size);
     printf ("\n\n");
}



проверяю
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
int main()
{
    GetLoggerDataFast(0, 65530);
    GetLoggerDataFast(65530, 65530);
    GetLoggerDataFast(131060, 65530);
    GetLoggerDataFast(196590, 65530);
    GetLoggerDataFast(262120, 65530);
    GetLoggerDataFast(327650, 65530);
    
  return 0;
}



получаю лог

page num = 0
page addr = 0
page chunk = 4096
-------------------
page num = 1
page addr = 0
page chunk = 4096
-------------------
page num = 2
page addr = 0
page chunk = 4096
-------------------
page num = 3
page addr = 0
page chunk = 4096
-------------------
page num = 4
page addr = 0
page chunk = 4096
-------------------
page num = 5
page addr = 0
page chunk = 4096
-------------------
page num = 6
page addr = 0
page chunk = 4096
-------------------
page num = 7
page addr = 0
page chunk = 4096
-------------------
page num = 8
page addr = 0
page chunk = 4096
-------------------
page num = 9
page addr = 0
page chunk = 4096
-------------------
page num = 10
page addr = 0
page chunk = 4096
-------------------
page num = 11
page addr = 0
page chunk = 4096
-------------------
page num = 12
page addr = 0
page chunk = 4096
-------------------
page num = 13
page addr = 0
page chunk = 4096
-------------------
page num = 14
page addr = 0
page chunk = 4096
-------------------
page num = 15
page addr = 0
page chunk = 4090
-------------------
total size = 65530


page num = 15
page addr = 4090
page chunk = 6
-------------------
page num = 16
page addr = 0
page chunk = 4096
-------------------
page num = 17
page addr = 0
page chunk = 4096
-------------------
page num = 18
page addr = 0
page chunk = 4096
-------------------
page num = 19
page addr = 0
page chunk = 4096
-------------------
page num = 20
page addr = 0
page chunk = 4096
-------------------
page num = 21
page addr = 0
page chunk = 4096
-------------------
page num = 22
page addr = 0
page chunk = 4096
-------------------
page num = 23
page addr = 0
page chunk = 4096
-------------------
page num = 24
page addr = 0
page chunk = 4096
-------------------
page num = 25
page addr = 0
page chunk = 4096
-------------------
page num = 26
page addr = 0
page chunk = 4096
-------------------
page num = 27
page addr = 0
page chunk = 4096
-------------------
page num = 28
page addr = 0
page chunk = 4096
-------------------
page num = 29
page addr = 0
page chunk = 4096
-------------------
page num = 30
page addr = 0
page chunk = 4090
-------------------
total size = 61440


page num = 31
page addr = 4084
page chunk = 12
-------------------
page num = 32
page addr = 0
page chunk = 4096
-------------------
page num = 33
page addr = 0
page chunk = 4096
-------------------
page num = 34
page addr = 0
page chunk = 4096
-------------------
page num = 35
page addr = 0
page chunk = 4096
-------------------
page num = 36
page addr = 0
page chunk = 4096
-------------------
page num = 37
page addr = 0
page chunk = 4096
-------------------
page num = 38
page addr = 0
page chunk = 4096
-------------------
page num = 39
page addr = 0
page chunk = 4096
-------------------
page num = 40
page addr = 0
page chunk = 4096
-------------------
page num = 41
page addr = 0
page chunk = 4096
-------------------
page num = 42
page addr = 0
page chunk = 4096
-------------------
page num = 43
page addr = 0
page chunk = 4096
-------------------
page num = 44
page addr = 0
page chunk = 4096
-------------------
page num = 45
page addr = 0
page chunk = 4096
-------------------
page num = 46
page addr = 0
page chunk = 4090
-------------------
total size = 61446


Первая итерация все правильно - 16 страниц - последняя на 6 байт меньше - все правильно.
Вторая итерация все правильно - начали с 15-ой страницы, добрали 6 байт а потом все сломалось - последняя страница 30 а не 31.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703502
MBo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBo
Гость
Видимо, эта музыка будет вечной - я гляжу, эпопея много лет длится.

В прошлой ветке http://www.sql.ru/forum/1297859/ я почему-то говорил:

авторВычисление первой и последней страницы должно быть правильно, вот на это и надо ориентироваться, а такое нахождение количества страниц некорректно.


Это по-прежнему справедливо.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703508
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MBoВидимо, эта музыка будет вечной - я гляжу, эпопея много лет длится.

В прошлой ветке http://www.sql.ru/forum/1297859/ я почему-то говорил:

авторВычисление первой и последней страницы должно быть правильно, вот на это и надо ориентироваться, а такое нахождение количества страниц некорректно.


Это по-прежнему справедливо.
я решил начать с чистого листа так как запутался. так как коректно вычислить? в этом и вопрос.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703513
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так правильно
Код: plaintext
1.
    endpage = ((offset + datasize - 1) % BLOCKSIZE) / PAGESIZE;


И у тебя полностью проигнорирован учет блоков. Ты работаешь только с первым блоком, поэтому выходя за его пределы начинаются глюки.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703522
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TТак правильно
Код: plaintext
1.
    endpage = ((offset + datasize - 1) % BLOCKSIZE) / PAGESIZE;


И у тебя полностью проигнорирован учет блоков. Ты работаешь только с первым блоком, поэтому выходя за его пределы начинаются глюки.
в привиденном выше примере у меня так и есть
endpage = ((offset + datasize) % BLOCKSIZE) / PAGESIZE;
блоки вычисляются правильно. я не привел их в коде.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703543
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Dima TТак правильно
Код: plaintext
1.
    endpage = ((offset + datasize - 1) % BLOCKSIZE) / PAGESIZE;


И у тебя полностью проигнорирован учет блоков. Ты работаешь только с первым блоком, поэтому выходя за его пределы начинаются глюки.
в привиденном выше примере у меня так и есть
endpage = ((offset + datasize) % BLOCKSIZE) / PAGESIZE;
блоки вычисляются правильно. я не привел их в коде.
-1 надо, т.к. offset + datasize это первый байт следующего сообщения.
Не важно. endpage у тебя не используется в коде.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703546
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima Tjenya7пропущено...

в привиденном выше примере у меня так и есть
endpage = ((offset + datasize) % BLOCKSIZE) / PAGESIZE;
блоки вычисляются правильно. я не привел их в коде.
-1 надо, т.к. offset + datasize это первый байт следующего сообщения.
Не важно. endpage у тебя не используется в коде.
ааа. спасибо. похоже тут и есть моя проблема.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703555
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7Dima Tпропущено...

-1 надо, т.к. offset + datasize это первый байт следующего сообщения.
Не важно. endpage у тебя не используется в коде.
ааа. спасибо. похоже тут и есть моя проблема.
Нет, проблема в другом. Я же написал что endpage ты не используешь.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703562
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут ошибка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    if (page_idx == 0)  
    {
        if (datasize > PAGESIZE)
        {
            page_chunk = PAGESIZE - (offset % PAGESIZE);
            page_addr = (offset % PAGESIZE);
        }
        else
        {
            page_chunk = datasize;
            page_addr = 0;
        }
    }


надо так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
    if (page_idx == 0)  
    {
        page_addr = (offset % PAGESIZE);
        page_chunk = PAGESIZE - page_addr;
        if (page_chunk > datasize)
        {
            page_chunk = datasize;
        }
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703570
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще ты некорректно считаешь
Код: plaintext
1.
 pages = (datasize / PAGESIZE);


Твои 65530 байт могут быть как на 16 так и на 17 страницах, т.к. они не всегда попадают в начало страницы.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703599
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TЕще ты некорректно считаешь
Код: plaintext
1.
 pages = (datasize / PAGESIZE);


Твои 65530 байт могут быть как на 16 так и на 17 страницах, т.к. они не всегда попадают в начало страницы.
понял. спасибо.
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703612
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для коректного вычисления количества страниц приходится делать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
last_chunk = datasize % PAGESIZE;
    
    pages = (datasize / PAGESIZE);
    
    if (pages == 0)
        pages = 1;
    else
    {
        if(last_chunk)
            pages++;
    }
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703637
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jenya7для коректного вычисления количества страниц приходится делать так
Тоже неправильно. Муторно это заранее высчитать.
Лучше по другому сделай
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
#define PAGESIZE 4096
#define PAGECOUNT 64
#define BLOCKSIZE (PAGESIZE * PAGECOUNT)

void GetLoggerDataFast(uint32_t offset, uint32_t datasize) {
	// Инициализация 
	uint32_t block_num = offset / BLOCKSIZE;
	uint32_t page_num = (offset - block_num * BLOCKSIZE) / PAGESIZE;
	uint32_t page_addr = offset % PAGESIZE;
	uint32_t chunk = PAGESIZE - page_addr;
	uint32_t need = datasize; // Сколько надо прочитать
	uint32_t total = 0;
	while(need != 0) {
		if (chunk > need) chunk = need; // Если не надо читать страницу до конца
		// Обработка страницы
		printf("block %d  page %d  addr %d  chunk %d\n", block_num, page_num, page_addr, chunk);
		total += chunk;
		need -= chunk;
		// Следующая страница
		chunk = PAGESIZE;
		page_num++;
		if(page_num == PAGECOUNT) {
			page_num = 0;
			block_num++;
		}

	}
	printf("total %d\n", total);
}
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703667
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Dima T]jenya7для коректного вычисления количества страниц приходится делать так
Тоже неправильно. Муторно это заранее высчитать.
Лучше по другому сделай
[src C++]
#define PAGESIZE 4096
#define PAGECOUNT 64
#define BLOCKSIZE (PAGESIZE * PAGECOUNT)

void GetLoggerDataFast(uint32_t offset, uint32_t datasize) {
// Инициализация
uint32_t block_num = offset / BLOCKSIZE;
uint32_t page_num = (offset - block_num * BLOCKSIZE) / PAGESIZE;
uint32_t page_addr = offset % PAGESIZE;
uint32_t chunk = PAGESIZE - page_addr;
uint32_t need = datasize; // Сколько надо прочитать
uint32_t total = 0;
while(need != 0) {
if (chunk > need) chunk = need; // Если не надо читать страницу до конца
// Обработка страницы
printf("block %d page %d addr %d chunk %d\n", block_num, page_num, page_addr, chunk);
total += chunk;
need -= chunk;
// Следующая страница
chunk = PAGESIZE;
page_num++;
if(page_num == PAGECOUNT) {
page_num = 0;
block_num++;
}

}
printf("total %d\n", total);
}

спасибою так работает правильно. кроме page_addr.

block 0 page 0 addr 0 chunk 4096
block 0 page 1 addr 0 chunk 4096
block 0 page 2 addr 0 chunk 4096
block 0 page 3 addr 0 chunk 4096
block 0 page 4 addr 0 chunk 4096
block 0 page 5 addr 0 chunk 4096
block 0 page 6 addr 0 chunk 4096
block 0 page 7 addr 0 chunk 4096
block 0 page 8 addr 0 chunk 4096
block 0 page 9 addr 0 chunk 4096
block 0 page 10 addr 0 chunk 4096
block 0 page 11 addr 0 chunk 4096
block 0 page 12 addr 0 chunk 4096
block 0 page 13 addr 0 chunk 4096
block 0 page 14 addr 0 chunk 4096
block 0 page 15 addr 0 chunk 4090
total 65530
block 0 page 15 addr 4090 chunk 6
block 0 page 16 addr 4090 chunk 4096
block 0 page 17 addr 4090 chunk 4096
block 0 page 18 addr 4090 chunk 4096
block 0 page 19 addr 4090 chunk 4096
block 0 page 20 addr 4090 chunk 4096
block 0 page 21 addr 4090 chunk 4096
block 0 page 22 addr 4090 chunk 4096
block 0 page 23 addr 4090 chunk 4096
block 0 page 24 addr 4090 chunk 4096
block 0 page 25 addr 4090 chunk 4096
block 0 page 26 addr 4090 chunk 4096
block 0 page 27 addr 4090 chunk 4096
block 0 page 28 addr 4090 chunk 4096
block 0 page 29 addr 4090 chunk 4096
block 0 page 30 addr 4090 chunk 4096
block 0 page 31 addr 4090 chunk 4084
total 65530
block 0 page 31 addr 4084 chunk 12
block 0 page 32 addr 4084 chunk 4096
block 0 page 33 addr 4084 chunk 4096
block 0 page 34 addr 4084 chunk 4096
block 0 page 35 addr 4084 chunk 4096
block 0 page 36 addr 4084 chunk 4096
block 0 page 37 addr 4084 chunk 4096
block 0 page 38 addr 4084 chunk 4096
block 0 page 39 addr 4084 chunk 4096
block 0 page 40 addr 4084 chunk 4096
block 0 page 41 addr 4084 chunk 4096
block 0 page 42 addr 4084 chunk 4096
block 0 page 43 addr 4084 chunk 4096
block 0 page 44 addr 4084 chunk 4096
block 0 page 45 addr 4084 chunk 4096
block 0 page 46 addr 4084 chunk 4096
block 0 page 47 addr 4084 chunk 4078
total 65530
block 0 page 47 addr 4078 chunk 18
block 0 page 48 addr 4078 chunk 4096
block 0 page 49 addr 4078 chunk 4096
block 0 page 50 addr 4078 chunk 4096
block 0 page 51 addr 4078 chunk 4096
block 0 page 52 addr 4078 chunk 4096
block 0 page 53 addr 4078 chunk 4096
block 0 page 54 addr 4078 chunk 4096
block 0 page 55 addr 4078 chunk 4096
block 0 page 56 addr 4078 chunk 4096
block 0 page 57 addr 4078 chunk 4096
block 0 page 58 addr 4078 chunk 4096
block 0 page 59 addr 4078 chunk 4096
block 0 page 60 addr 4078 chunk 4096
block 0 page 61 addr 4078 chunk 4096
block 0 page 62 addr 4078 chunk 4096
block 0 page 63 addr 4078 chunk 4072
total 65530
block 0 page 63 addr 4072 chunk 24
block 1 page 0 addr 4072 chunk 4096
block 1 page 1 addr 4072 chunk 4096
block 1 page 2 addr 4072 chunk 4096
block 1 page 3 addr 4072 chunk 4096
block 1 page 4 addr 4072 chunk 4096
block 1 page 5 addr 4072 chunk 4096
block 1 page 6 addr 4072 chunk 4096
block 1 page 7 addr 4072 chunk 4096
block 1 page 8 addr 4072 chunk 4096
block 1 page 9 addr 4072 chunk 4096
block 1 page 10 addr 4072 chunk 4096
block 1 page 11 addr 4072 chunk 4096
block 1 page 12 addr 4072 chunk 4096
block 1 page 13 addr 4072 chunk 4096
block 1 page 14 addr 4072 chunk 4096
block 1 page 15 addr 4072 chunk 4066
total 65530
block 1 page 15 addr 4066 chunk 30
block 1 page 16 addr 4066 chunk 4096
block 1 page 17 addr 4066 chunk 4096
block 1 page 18 addr 4066 chunk 4096
block 1 page 19 addr 4066 chunk 4096
block 1 page 20 addr 4066 chunk 4096
block 1 page 21 addr 4066 chunk 4096
block 1 page 22 addr 4066 chunk 4096
block 1 page 23 addr 4066 chunk 4096
block 1 page 24 addr 4066 chunk 4096
block 1 page 25 addr 4066 chunk 4096
block 1 page 26 addr 4066 chunk 4096
block 1 page 27 addr 4066 chunk 4096
block 1 page 28 addr 4066 chunk 4096
block 1 page 29 addr 4066 chunk 4096
block 1 page 30 addr 4066 chunk 4096
block 1 page 31 addr 4066 chunk 4060
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703676
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл про page_addr
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
#define PAGESIZE 4096
#define PAGECOUNT 64
#define BLOCKSIZE (PAGESIZE * PAGECOUNT)

void GetLoggerDataFast(uint32_t offset, uint32_t datasize) {
	// Инициализация 
	uint32_t block_num = offset / BLOCKSIZE;
	uint32_t page_num = (offset - block_num * BLOCKSIZE) / PAGESIZE;
	uint32_t page_addr = offset % PAGESIZE;
	uint32_t chunk = PAGESIZE - page_addr;
	uint32_t need = datasize; // Сколько надо прочитать
	uint32_t total = 0;
	while(need != 0) {
		if (chunk > need) chunk = need; // Если не надо читать страницу до конца
		// Обработка страницы
		printf("block %d  page %d  addr %d  chunk %d\n", block_num, page_num, page_addr, chunk);
		total += chunk;
		need -= chunk;
		// Следующая страница
		page_addr = 0;
		chunk = PAGESIZE;
		page_num++;
		if(page_num == PAGECOUNT) {
			page_num = 0;
			block_num++;
		}

	}
	printf("total %d\n", total);
}
...
Рейтинг: 0 / 0
Алгоритм вычисления страницы
    #39703695
jenya7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TЗабыл про page_addr

[/src]
громадное спасибо.

block 0 page 0 addr 0 chunk 4096
block 0 page 1 addr 0 chunk 4096
block 0 page 2 addr 0 chunk 4096
block 0 page 3 addr 0 chunk 4096
block 0 page 4 addr 0 chunk 4096
block 0 page 5 addr 0 chunk 4096
block 0 page 6 addr 0 chunk 4096
block 0 page 7 addr 0 chunk 4096
block 0 page 8 addr 0 chunk 4096
block 0 page 9 addr 0 chunk 4096
block 0 page 10 addr 0 chunk 4096
block 0 page 11 addr 0 chunk 4096
block 0 page 12 addr 0 chunk 4096
block 0 page 13 addr 0 chunk 4096
block 0 page 14 addr 0 chunk 4096
block 0 page 15 addr 0 chunk 4090
total 65530
block 0 page 15 addr 4090 chunk 6
block 0 page 16 addr 0 chunk 4096
block 0 page 17 addr 0 chunk 4096
block 0 page 18 addr 0 chunk 4096
block 0 page 19 addr 0 chunk 4096
block 0 page 20 addr 0 chunk 4096
block 0 page 21 addr 0 chunk 4096
block 0 page 22 addr 0 chunk 4096
block 0 page 23 addr 0 chunk 4096
block 0 page 24 addr 0 chunk 4096
block 0 page 25 addr 0 chunk 4096
block 0 page 26 addr 0 chunk 4096
block 0 page 27 addr 0 chunk 4096
block 0 page 28 addr 0 chunk 4096
block 0 page 29 addr 0 chunk 4096
block 0 page 30 addr 0 chunk 4096
block 0 page 31 addr 0 chunk 4084
total 65530
block 0 page 31 addr 4084 chunk 12
block 0 page 32 addr 0 chunk 4096
block 0 page 33 addr 0 chunk 4096
block 0 page 34 addr 0 chunk 4096
block 0 page 35 addr 0 chunk 4096
block 0 page 36 addr 0 chunk 4096
block 0 page 37 addr 0 chunk 4096
block 0 page 38 addr 0 chunk 4096
block 0 page 39 addr 0 chunk 4096
block 0 page 40 addr 0 chunk 4096
block 0 page 41 addr 0 chunk 4096
block 0 page 42 addr 0 chunk 4096
block 0 page 43 addr 0 chunk 4096
block 0 page 44 addr 0 chunk 4096
block 0 page 45 addr 0 chunk 4096
block 0 page 46 addr 0 chunk 4096
block 0 page 47 addr 0 chunk 4078
total 65530
block 0 page 47 addr 4078 chunk 18
block 0 page 48 addr 0 chunk 4096
block 0 page 49 addr 0 chunk 4096
block 0 page 50 addr 0 chunk 4096
block 0 page 51 addr 0 chunk 4096
block 0 page 52 addr 0 chunk 4096
block 0 page 53 addr 0 chunk 4096
block 0 page 54 addr 0 chunk 4096
block 0 page 55 addr 0 chunk 4096
block 0 page 56 addr 0 chunk 4096
block 0 page 57 addr 0 chunk 4096
block 0 page 58 addr 0 chunk 4096
block 0 page 59 addr 0 chunk 4096
block 0 page 60 addr 0 chunk 4096
block 0 page 61 addr 0 chunk 4096
block 0 page 62 addr 0 chunk 4096
block 0 page 63 addr 0 chunk 4072
total 65530
block 0 page 63 addr 4072 chunk 24
block 1 page 0 addr 0 chunk 4096
block 1 page 1 addr 0 chunk 4096
block 1 page 2 addr 0 chunk 4096
block 1 page 3 addr 0 chunk 4096
block 1 page 4 addr 0 chunk 4096
block 1 page 5 addr 0 chunk 4096
block 1 page 6 addr 0 chunk 4096
block 1 page 7 addr 0 chunk 4096
block 1 page 8 addr 0 chunk 4096
block 1 page 9 addr 0 chunk 4096
block 1 page 10 addr 0 chunk 4096
block 1 page 11 addr 0 chunk 4096
block 1 page 12 addr 0 chunk 4096
block 1 page 13 addr 0 chunk 4096
block 1 page 14 addr 0 chunk 4096
block 1 page 15 addr 0 chunk 4066
total 65530
block 1 page 15 addr 4066 chunk 30
block 1 page 16 addr 0 chunk 4096
block 1 page 17 addr 0 chunk 4096
block 1 page 18 addr 0 chunk 4096
block 1 page 19 addr 0 chunk 4096
block 1 page 20 addr 0 chunk 4096
block 1 page 21 addr 0 chunk 4096
block 1 page 22 addr 0 chunk 4096
block 1 page 23 addr 0 chunk 4096
block 1 page 24 addr 0 chunk 4096
block 1 page 25 addr 0 chunk 4096
block 1 page 26 addr 0 chunk 4096
block 1 page 27 addr 0 chunk 4096
block 1 page 28 addr 0 chunk 4096
block 1 page 29 addr 0 chunk 4096
block 1 page 30 addr 0 chunk 4096
block 1 page 31 addr 0 chunk 4060
total 65530

Dima T как всегда крут. :)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Алгоритм вычисления страницы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]