-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Andrea Diamantini wrote: > Allora, sono tornato a casa e ho inaugurato la nuova viabilità senigalliese > prendendo il ponte del cityper CONTROMANO.. > Torno a casa e non c'è nessuno. Non avevo 2 figli, io? boh.. ah bigliettino. > Sono dalla nonna. La madre ha il turno di notte all'ospedale. > Avverto un leggero languorino.. certo! Stasera non ho cenato. > Insomma sono quasi le tre e ancora ho le union e le nostre elucubrazioni su > posix in testa > Google --> "linguaggio c union" --> mi sento fortunato ----> > http://www.in-f-or.it/informatica/c/cap28.html. > > Per i più pigri inserisco l'estratto che ci riguarda: > > ***************************************************************************** > Una delle caratteristiche significative del linguaggio C è quella di essere > un > linguaggio in grado di compiere manipolazioni e modifiche anche a livello del > singolo bit. Uno dei modi di eseguire queste operazioni è quello di usare i > campi a bit (bit-field). Un bit-field è simile ad una struttura nella > dichiarazione, ma solo nella dichiarazione. Possiede infatti la particolarità > di assegnare un identificatore ad uno o più bit all'interno di un int o un > char, con segno o senza segno secondo il compilatore usato. Un esempio di > dichiarazione di bit-field può essere il seguente: > > struct > { > unsigned char f1 : 1; > unsigned char f2 : 1; > unsigned char f3 : 3; > } flag; > > Questo codice dichiara una variabile flag costituita da tre bit-field > chiamati f1, f2, f3, rispettivamente di 1, 1 e 3 bit. Naturalmente f1 ed f2 > potranno contenere solo i valori 0 e 1, mentre f3 potrà contenere valori > interi compresi tra 0 e 7. Un esempio di assegnazione può essere il seguente: > > flag.f1 = 1; > flag.f2 = 0; > flag.f3 = 6; > > Se erroneamente viene assegnato ad un bit-field un valore maggiore di quello > che il campo può contenere in base all'aritmetica binaria, il comportamento > del programma sarà difficilmente prevedibile. > ********************************************************************** ah ecco ora si spiega! Non sapevo esistessero dei tipi per gestire i bit, fico. - -- Federico Today is Boomtime, the 35th day of The Aftermath in the YOLD 3173 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFHRyyNi7obm7aBjHcRAuh3AJ9MOx0Rbbhfb2j/nCv6TfslGzu1tgCfc7C8 dchC5o9F9IYSgz6F2hXPRE0= =0g+r -----END PGP SIGNATURE-----