Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.203 c
15-1143474528
Empleado
2006-03-27 19:48
2006.04.16
С прискорбием ...


3-1140428401
Shlomo
2006-02-20 12:40
2006.04.16
Ошибка: The conversion of a chat data type to a datetime data typ


2-1142847274
Sonnetrut
2006-03-20 12:34
2006.04.16
База данных - файл Excel (2)


2-1144083410
вопросник
2006-04-03 20:56
2006.04.16
Как на форме найти компонент по его Tag


15-1143256110
balepa
2006-03-25 06:08
2006.04.16
Отправьте мне WIN32.hlp





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский