프로그램의 메모리 점유율을 줄이는 목적으로..변수 하나로 수개에서 수십개의 상태를 저장하기 위해서..bit operation이 필요함..
#define BIT_SET(a,b) ((a) |= (1ULL<<(b)))
#define BIT_CLEAR(a,b) ((a) &= ~(1ULL<<(b)))
#define BIT_FLIP(a,b) ((a) ^= (1ULL<<(b)))
#define BIT_CHECK(a,b) (!!((a) & (1ULL<<(b)))) // '!!' to make sure this returns 0 or 1
void main()
{
char v = 0;
BIT_SET(v,0);
printf("%d\n", v);
BIT_SET(v,1);
printf("%d\n", v);
printf("%d\n", BIT_CHECK(v,0));
printf("%d\n", BIT_CHECK(v,2));
BIT_CLEAR(v,1);
printf("%d\n", v);
}
'블로그 (Blog) > 개발로그 (Devlogs)' 카테고리의 다른 글
Website download using wget (0) | 2024.03.08 |
---|---|
Mesh Qualiity 개선 (Mesquite) (0) | 2024.03.08 |
Vector 압축 (0) | 2024.03.08 |
Normal Quantization (0) | 2024.03.08 |
Advanced Clipping Techniques (0) | 2024.03.07 |