예를 들어 연령을 0에서 16까지, 학생 ID를 0에서 256까지 저장할 수 있습니다. 우리가 알다시피 정수 메모리에 두 바이트 (16 비트)를 걸립니다. 2바이트 미만의 값을 저장해야 하는 경우도 있습니다. 이러한 경우 메모리의 낭비가 있습니다. 예를 들어 변수 temp를 사용하여 값을 0 또는 1으로 저장하는 경우. 이 경우 16비트의 메모리가 사용됩니다. 비트 필드를 사용 하 여 메모리를 많이 저장할 수 있습니다. 필드 내의 개별 비트의 의미는 프로그래머가 결정합니다. 예를 들어 비트 필드의 첫 번째 비트(필드의 기본 주소에 있음)는 비트 필드와 연결된 특정 특성의 상태를 결정하는 데 사용되는 경우가 있습니다.

[3] 비트 필드는 프로그램에 항상 낮은 값을 가진 여러 정수 변수가 필요한 경우 메모리 소비를 줄이는 데 사용할 수 있습니다. 예를 들어 정수 값을 저장하는 많은 시스템에서는 두 바이트(16비트)의 메모리가 필요합니다. 때로는 저장할 값이 실제로 하나 또는 두 개의 비트만 필요합니다. 이러한 작은 변수가 비트 필드를 공유하면 메모리에 있는 데이터를 효율적으로 패키징할 수 있습니다. [5] 비트필드는 플래그에 가장 일반적으로 사용되지만 다른 것들도 사용됩니다. 예를 들어 많은 체스 알고리즘에 사용되는 체스 보드를 나타내는 한 가지 방법은 64비트 정수를 사용하여 보드(8*8 픽셀)를 나타내고 해당 정수에 플래그를 설정하여 모든 흰색 폰의 위치를 지정하는 것입니다. 또 다른 정수는 모든 검은 색 폰 등을 보여 주며 5) 비트 필드 배열은 허용되지 않습니다. 예를 들어, 아래 프로그램은 컴파일에서 실패합니다. 기본적인 이유는 사용되는 크기를 줄이기 위한 것입니다. 예를 들어 쓰기: 1) 크기 0의 명명되지 않은 특수 비트 필드가 다음 경계에 맞춤을 강제하는 데 사용됩니다. 예를 들어 다음 프로그램을 고려하십시오.

다음 두 예제에서는 특정 응용 프로그램의 메모리 소비를 줄이기 위해 비트 필드를 사용 하 여 보여 줍니다. 결론: 개념과 이러한 예제에서 알 수 있듯이, 이 기능은 주로 일상적인 소프트웨어가 아니라 내부 용이기 때문에 거의 사용되지 않는 기능입니다. 이 예제는 base64도 null 종료(즉 길이 l가 없는 문자열) l % 3이 0이되도록 고려해야 하기 때문에 약간 순진합니다.

2010 © Copyright Fundacja Projekt Kultura