Главная страница
    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.038 c
4-1137151923
Dimon777
2006-01-13 14:32
2006.04.16
Переключение принтера в режим двусторонней печати


2-1143701690
Logos
2006-03-30 10:54
2006.04.16
Ну вот, кто-то грубиян, а ветку закрыли...


1-1142417495
КиТаЯц
2006-03-15 13:11
2006.04.16
OpenOffice вместо MSExcel


2-1143629509
alk
2006-03-29 14:51
2006.04.16
Посылка параметров из клиента DCOM к серверу


15-1143620105
balepa
2006-03-29 12:15
2006.04.16
Нормально ли?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский