bitove pole, pole bitu

Jan Waclawek konfera@efton.sk
Úterý Leden 27 19:03:44 CET 2009


>
>> 2009/1/27 Jan Waclawek <konfera@efton.sk>:
>>> Ozaj, zabudol som pripomenut, ze v Pascale samozrejme ziadny problem s
>>>
>>> var b : array[range] of boolean;
>>>
>>> b[akykolvek_vyraz] := akykolvek_booleovsky_vyraz;
>>>
>>> nie je... ;-)
>>
>> Bez podrypavania, vazne ma to zaujima: kolko pamatoveho miesta zaberie
>> taketo napr. 8-prvkove pole? Prelozi to prekladac naozaj na 8 bitov
>> jedneho bytu, alebo vyhradi 8 bytov?
>>
>> V druhom pripade sa toto iste da urobit aj v C (typedef unsigned char
>> boolean), C++ dokonca pozna typ bool :-)
>
>Odpoved pro pascal je jednoducha je to 8 byte, aby to bylo 8 bitu muselo by 
>to byt
>var b : PACKED array [range] of boolean; ale treba pascaly od Borlandu 
>klicove slovo PACKED ignoruji ;-((

To nie je celkom tak. Klucove slovo packed ma tiez implementacne zavisle spravanie; a tiez nikde nie je napisane ze ako sa ma alokovat boolean bez packed.

Ono ked sa niekto poriadne pozrie do specifikacie, tak vysvitne, ze este aj ten integer je implementacne zavisly (ja teraz plujem sam na seba, vsimnite si).

wek





Další informace o konferenci Hw-list