비트 필드는 변수의 크기를 비트 단위로 지정하는 데 사용됩니다. 일반적으로 구조체 내부에 정의됩니다.
- 비트 필드:1바이트=8비트
예:
예는 아래에 설명되어 있습니다 -
Struct info{ int x:2; };
여기서 x는 2비트를 차지합니다.
범위를 벗어난 비트 필드에 값을 할당하는 것은 유효하지 않습니다.
비트 필드에는 크기와 주소 연산자를 적용할 수 없기 때문에 scanf 문을 사용하여 비트 필드 값을 입력할 수 없습니다.
비트 필드에 할당할 수 있는 데이터 유형은 int, signed int, unsigned int일 수 있습니다.
프로그램
다음은 unsigned int용 C 프로그램입니다. -
#include<stdio.h> struct info{ unsigned int x:3;// assign bit field to unsigned int inside structure }; main(){ struct info i; i.x=8; printf("%d",i.x); }
출력
출력은 다음과 같습니다 &miuns;
0
설명
-
unsigned int의 범위 공식은 0 ~ 2n-1이고 n=비트 수입니다.
-
여기서 n=3, 즉 unsigned int는 0에서 23 -1 사이에 있으며 이는 0에서 7과 같습니다.
프로그램
int에 대해서는 아래에 제공된 프로그램을 참조하십시오. -
#include<stdio.h> struct info{ int x:3;// assign bit field to int inside structure }; main(){ struct info i; i.x=4; printf("%d",i.x); }
출력
다음과 같은 결과를 얻을 수 있습니다 -
-4
설명
- signed int =(-2(n-1)+1) ~ 2n-1의 범위 공식, 여기서 n은 비트 수 없음
- 프로그램에서 n=3
- 이를 공식에 대입하면 다음과 같은 결과를 얻을 수 있습니다. -
=(-2(3-1)+1) to 23-1 =(-22+1) to 22 = -3 to 4 i.e., -3,-2,-1,0,1,2,3,4,