개념적 차이점은 무엇입니까? 나는 C에서 비트 마스크와 비트 맵의 차이점
struct{
int bit1: 1;
int bit2: 1;
int bit3: 1;
};
그래서 THT의 경우에 우리가 열거에 대해 정의 뭔가를 비트 마스크입니다 .. 비트 맵이 구조체의 비트 필드의 종류 알아?
개념적 차이점은 무엇입니까? 나는 C에서 비트 마스크와 비트 맵의 차이점
struct{
int bit1: 1;
int bit2: 1;
int bit3: 1;
};
그래서 THT의 경우에 우리가 열거에 대해 정의 뭔가를 비트 마스크입니다 .. 비트 맵이 구조체의 비트 필드의 종류 알아?
비트 마스크는 비트 연산을 수행 할 때 특정 비트를 "마스크"하는 데 사용되는 정수 유형입니다. 예를 들어, 은 32 비트 부호없는 값을 마스크하는 데 사용될 수 있습니다. 한 번에 모든 비트에 대해 작업해야하므로 0x00000001
은 마지막 비트에서만 작동합니다. 종종 '대칭'버전으로 정의 된 비트 마스크를 확인한 다음 ~
을 사용하여 대칭 이동합니다.
반면에 비트 맵은 개별 비트에 각각 매핑되는 변수 집합입니다. 이 방법은 여러 가지가 있습니다. 구조체는 비트 맵의 한 가지 예입니다.
열거 형에 여러 가지 마스크를 넣어 쉽게 액세스 할 수 있지만 꼭 그렇게해야 할 필요는 없습니다.
"비트 맵"과 "비트 마스크"는 C 사양에서 사용되는 단어가 아닙니다. "bitfield"는이고, 당신의 예제는 하나를 보여줍니다. 당신이 묻고 자하는 것을 설명해 주시겠습니까? –