VERO bitmap
Giuseppe Corbelli
cowo a lugbs.linux.it
Mer 7 Maggio 2003 20:51:59 UTC
On Wed, May 07, 2003 at 07:57:22PM +0200, Vernia Damiano wrote:
>
> Ciao, alcune strutture dati del mio programma si possono
> immaginare in due versioni:
> 1. Una lista linkata in avanti e all'indietro.
> 2. Una lunga stringa di bit.
> Devo poter identificare qualche migliaio di oggetti, quindi ogni
> la elemento della lista linkata conterrebbe un "unsigned short" e due
> puntatori. Al contrario la stringa di bit sarebbe "staticamente" lunga
> quanto la cardinalita' massima dell'insieme.
Non si puo' fare un array? L'overhead dei puntatori e' alto.
> Quanto occupa REALMENTE UN elemento della lista linkata? in
Dipende mica dall'allineamento del compilatore? Allinea alla dimensione
della word, no?
> apparenza 2+4+4 byte (80 bit), ma (e per questo non penso di essere
> totalmente OT...) le strutture che mantengono l'allocazione "vera" in
> memoria di quell'elemento?
> Cosi' mi faccio una stima dell'occupazione e vedo cosa
> implementare al variare della lunghezza attesa della lista.
Per me ti servono 12 byte.
> Secondo problema, collegato. Leggendo gli header delle librerie mi
> e' parso di capire che per "long" si intende 32 o 64 bit a seconda del
> processore per il quale si compila. PII e Athlon? Conviene, secondo quanto
Per gli intel compatibili 32 bit e' sempre 32 bit.
> conoscete dell'implementazione delle librerie e dei processori PII e
> Athlon usare il tipo di dato "long long" (che a quanto pare non e' poi
> cosi' standard C)? Io ci devo fare solo operazioni binarie: AND e OR (e
> forse XOR).
Non ne ho idea. Ma ti servono certi numeri?
--
Giuseppe "Cowo" Corbelli ~\/~ My software: http://cowo.yoda2000.net
-<! Desasters in our century: Hiroshima 45, Cernobyl 86, windoze95 !>-
Maggiori informazioni sulla lista
Lug
|