Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Не понимаю где ошибся   Найти похожие ветки 

 
Quattro ©   (2006-03-29 21:58) [0]

Добрый вечер!..подскажите ,пожалуйста, где я ошибся
const
 MaxPixel = MaxInt div SizeOf(TRGBQuad);
 MaxPixell = MaxInt div SizeOf(TRGBTriple);
type
 TRGBArrayT = Array [0..MaxPixell] of TRGBTriple;
 TRGBArrayQ = Array [0..MaxPixel] of TRGBQuad;
var
 x,y:Integer;
 PictOut:TRGBArrayQ;

в выделенной строке компилятор говорит, что "TRGBArrayQ" is not a type identifier...как же так?


 
Rial ©   (2006-03-29 22:06) [1]

А вообще тебя не настораживает, что размер этого массива около 2 GB?
У тебя памяти то столько есть ?


 
Quattro ©   (2006-03-29 22:13) [2]

В интеренете не раз видел  и ничего плохого в адрес такого варианта не читывал...


 
Rial ©   (2006-03-29 22:17) [3]

Но, видимо, твой компилятор не часто заглядывает в интернет.

Вообще, структура, большая по размерам 2^31-1 не может существовать.
У тебя ведь адресация в памяти использует всего 32 бита!


 
Quattro ©   (2006-03-29 22:45) [4]

эээ...а почему размер массива около 2 Гб??...максимальное Integer = 2 147 483 647...каждое целое число представлено 4 байтами, т.е. 32 битами....1 Гб = 2^30 бит, т.е. 1 073 741 824  бит...2 Гб = 2* 1 073 741 824 = 2 147 483 648 бит. Теперь вернемся к Integer....в массиве максимум элементов, каждый по 32 бита...32*2 147 483 647 = 68 719 476 704 бит, т.е. совсем не 2 Гб а намного больше....это я написал для того, чтобы Вы могли проследить ход моей мысли и , если Вам не трудно, указали на ошибку в рассуждениях...


 
Fay ©   (2006-03-29 23:26) [5]

Орех.


 
Rial ©   (2006-03-30 00:41) [6]


> Fay ©   (29.03.06 23:26) [5]

Точно


> Quattro ©   (29.03.06 22:45) [4]

Ошибок то всего чуть- чуть :
1. 1GB <> 2^30 бит.
2. Кол-во элементов в массиве не MaxInt, а MaxInt div SizeOf(Х.З. что).
3. Т.к. размер одного елемента есть SizeOf(Х.З. что), то размер всего массива есть (MaxInt div SizeOf(Х.З. что))*SizeOf(Х.З. что)=MaxInt.
4. Тип Integer=[-2^31 .. 2^31-1].
5. 2 GB <> 2 147 483 648 бит.
6. В массиве вообще не Integer!
7. Итого: размер массива= 2GB-1B.


 
Johnmen ©   (2006-03-30 10:39) [7]

Уменьши MaxPixel на 1 и компиляция пройдёт :)))

Размер переменной не м.б. >= 2GB
Это единственная ошибка в [0]



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
2-1144154003
Irmantukas
2006-04-04 16:33
2006.04.16
COM порт. С чего начать?


4-1138786134
Cashmare
2006-02-01 12:28
2006.04.16
WaitForSingleObject &amp; Synchronize


15-1143558642
oldman
2006-03-28 19:10
2006.04.16
Gluteus maximus...


2-1143961381
Dyakon_Frost
2006-04-02 11:03
2006.04.16
Проблемы с dll


2-1144159935
fast2
2006-04-04 18:12
2006.04.16
Как на BitBtn добавить рисунок и какого формата он должен быть?