0
각 int가 1 비트를 갖는 int 비트 필드의 배열을 만들고 싶습니다. 즉, 모든 숫자가 1 또는 0이 될 것입니다. 어떻게 코딩 할 수 있습니까? 비트 배열을 만드는 방법은 무엇입니까?
나는struct bitarr {
int arr : 1[14];
};
을 시도하지만 컴파일하지 않고, 나는 이것이 당신이 비트의 배열을 할 수있는 방법
각 int가 1 비트를 갖는 int 비트 필드의 배열을 만들고 싶습니다. 즉, 모든 숫자가 1 또는 0이 될 것입니다. 어떻게 코딩 할 수 있습니까? 비트 배열을 만드는 방법은 무엇입니까?
나는struct bitarr {
int arr : 1[14];
};
을 시도하지만 컴파일하지 않고, 나는 이것이 당신이 비트의 배열을 할 수있는 방법
이라고 생각하지 않습니다. 대신 비트에 단일 16 비트 변수를 만든 다음 i[myindex]
으로 액세스하는 대신 bitsVariable & (1 << myindex)
으로 액세스 할 수 있습니다.
비트를 설정하려면 사용할 수 있습니다
bitsVariable |= 1 << myindex;
비트를 지우려면, 당신은 사용할 수 있습니다
bitsVariable &= ~(1 << myIndex);
비트를 확인하려면, 당신은 사용할 수 있습니다
if (bitsVariable & (1 << myIndex)) {
//Bit is set
} else {
//Bit is not set
}