Condividi tramite


Archiviazione dei campi di bit

ANSI 3.5.2.1 L'ordine di allocazione dei campi di bit in un tipo int

I campi di bit sono allocati in un Integer dal bit meno significativo a quello più significativo. Nel codice riportato di seguito

struct mybitfields
{
   unsigned a : 4;
   unsigned b : 5;
   unsigned c : 7;
} test;

int main( void )
{
   test.a = 2;
   test.b = 31;
   test.c = 0;
}

i bit sono disposti come segue:

00000001 11110010
cccccccb bbbbaaaa

Poiché i processori 80x86 memorizzano il byte basso degli Integer prima del byte alto, l'Integer 0x01F2 superiore viene archiviato nella memoria fisica come 0xF2 seguito da 0x01.

Vedi anche

Strutture, unioni, enumerazioni e campi di bit