비트 필드의 저장Storage of Bit Fields

ANSI 3.5.2.1 int 내 비트 필드의 할당 순서ANSI 3.5.2.1 The order of allocation of bit fields within an int

비트 필드는 최하위 비트에서 최상위 비트까지 정수 내에 할당됩니다.Bit fields are allocated within an integer from least-significant to most-significant bit. 다음 코드에서In the following code

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

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

비트는 다음과 같이 정렬됩니다.the bits would be arranged as follows:

00000001 11110010  
cccccccb bbbbaaaa  

80x86 프로세서는 높은 바이트 앞에 낮은 바이트의 정수 값을 저장하므로 0x01F2보다 높은 정수는 0x01이 뒤에 오는 0xF2로 실제 메모리에 저장됩니다.Since the 80x86 processors store the low byte of integer values before the high byte, the integer 0x01F2 above would be stored in physical memory as 0xF2 followed by 0x01.

참고 항목See Also

구조체, 공용 구조체, 열거형 및 비트 필드Structures, Unions, Enumerations, and Bit Fields