![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Если ли в DELPHI трех байтовй тип ? [D6]
NikNet © (2005-08-24 17:29:00)Проблема надо создать структуру
t = REcord
b:Byte;
tr: три байта ? :(
end;
tesseract (2005-08-25 18:38:00) [21]>> Если хотите, то пусть будет "ещё".
Не уверен, что хочу. А то ещё ограничат массив 256 символами...
Fay (2005-08-25 18:27:00) [22]2 tesseract © (25.08.05 18:11) [21]
>> целые числа уже enumerated ????
Если хотите, то пусть будет "ещё".
8)
Fay (2005-08-25 18:26:00) [23]2 Bless © (25.08.05 17:47) [19]
Что-то я не понял... Вы серьёзно объъясняете мне, что 1 байт весит 1 байт?! Дожил.
Я говорил именно про "выделяемый размер".
tesseract (2005-08-25 18:11:00) [24]>>enumerated types
А что массив или целые числа уже enumerated ????
вроде как массивы относятся к структурам а байта - к ordinal;
>>to Bless
Согласен, оплошал.... :-((((
tesseract (2005-08-25 18:06:00) [25]>>Буду признателен, если ткнете меня носом в то место, где хранится >>информация о длине статического массива.
>>Имхо, такого места нет, но вдруг я ошибаюсь.
Это служебная информация, насколько помню находится перед массивом, как и у Pascal-строки(она ведь массив char).
Bless (2005-08-25 17:47:00) [26][i]Fay © (25.08.05 17:28) [18]
2 tesseract © (25.08.05 13:44) [9]
>> И вообще все значений всё равно компилятором до 4 байт добиваются
Только при {$Z4}
[/i]
{$Z} влияет на выделяемый размер под переменные enumerated types.
Так что "все значения компилятором до 4 байт" даже с этой директивой не "добиваются". Переменная типа byte по-прежнему будет занимать один байт.
Fay (2005-08-25 17:28:00) [27]2 tesseract © (25.08.05 13:44) [9]
>> И вообще все значений всё равно компилятором до 4 байт добиваются
Только при {$Z4}
Bless (2005-08-25 15:02:00) [28]tesseract © (25.08.05 13:58) [12]
Ни фига не понял зачем такая радость ( массив да в записи если можно type Myrec= array[1..3] of byte;)
Займёт 3 байта + информация о длине массива.
Буду признателен, если ткнете меня носом в то место, где хранится информация о длине статического массива.
Имхо, такого места нет, но вдруг я ошибаюсь.
Игорь Шевченко (2005-08-25 14:40:00) [29]
> И вообще все значений всё равно компилятором до 4 байт добиваются
> ( чтобы intel шустрее работал).
Не затруднит ли уважаемого автора поведать, в какой именно месте компилятор добивает значения до 4-х байт ?
Bless (2005-08-25 14:39:00) [30]
tesseract © (25.08.05 13:58) [12]
MyRec = record
A,B,C:byte
end;
Займёт 12 байт
3 байта займет, а не 12.
tesseract (2005-08-25 14:18:00) [31]>>>Джо
>>неправда ваша.
>Мне все-таки интересно в чем я не прав...
Мне честно говоря тоже
ArtemESC (2005-08-25 14:00:00) [32]>>Джо
>неправда ваша.
Мне все-таки интересно в чем я не прав...
tesseract (2005-08-25 13:58:00) [33]>> Даже Byte?
Даже byte.
поэтому такой тип данных
MyRec = record
A,B,C:byte
end;
Займёт 12 байт
такой
MyRec = packedrecord
A,B,C:byte
end;
Займёт 3 байта
MyRec = packed record
A:array[1..3] of byte;
end;
Ни фига не понял зачем такая радость ( массив да в записи если можно type Myrec= array[1..3] of byte;)
Займёт 3 байта + информация о длине массива.
Кстати определение массива как начинающегося с нуля немного повысит производительность. Так легче найти элемент массива в памяти.
Джо (2005-08-25 13:52:00) [34]
> [9] tesseract © (25.08.05 13:44)
И ваша неправда.
ArtemESC (2005-08-25 13:47:00) [35]>>И вообще все значений всё равно компилятором до 4 байт >>добиваются
Даже Byte?
tesseract (2005-08-25 13:44:00) [36]>>>T3Byte = 0..$FFFFFF
Будет он 4 байтным. просто значений больше FFFFFF принимать не будет.
И вообще все значений всё равно компилятором до 4 байт добиваются ( чтобы intel шустрее работал).
Джо (2005-08-25 13:43:00) [37]
> [7] ArtemESC (25.08.05 13:38)
> T3Byte = 0..$FFFFFF
Неправда ваша.
ArtemESC (2005-08-25 13:38:00) [38]>>Если ли в DELPHI трех байтовй тип?
T3Byte = 0..$FFFFFF
tesseract (2005-08-25 11:05:00) [39]>>По моему Integer трех байтовый?
Зависит от типа ОС
DOS - 2 байта
Windows/*nix/netware/ - 4 байта
Win64/*nix 64 - 8 байт
Игорь Шевченко (2005-08-24 17:48:00) [40]А почему бы какую книжку умную по Delphi не почитать ?