Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

구조 개념을 사용하여 C 언어의 비트 필드 설명

<시간/>

비트 필드는 변수의 크기를 비트 단위로 지정하는 데 사용됩니다. 일반적으로 구조체 내부에 정의됩니다.

  • 비트 필드: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과 같습니다.

구조 개념을 사용하여 C 언어의 비트 필드 설명

프로그램

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,