|
안될리가요....
struct TEST{
uint8_t a1: 1;
.....
uint8_t a100: 1;
} test;
char *ptr = (char *)&test;
*(ptr+i) & (0x01 << j)
를 이용하면 얼마든지 가능한데요?
구조체 님이 쓰신 글 :
: 네~ 저도 평소 비트 연산자로 연산하곤 했었는데요...
:
: 구조체라 그런지 비트연산자가 안되더라구요;; 그래서 이렇게 질문드립니다 ㅠㅠ
:
: 라스코니 님이 쓰신 글 :
: : 바이트 단위로 bit mask 를 써보시죠?
: :
: : test & 0x01
: : test & 0x02 등등등.
: :
: : test & (0x01 << i) 식으로 index 와도 연동하게 할 수 있죠.
: :
: :
: : 구조체 님이 쓰신 글 :
: : : 통신을 이용해 각각의 비트 값을 저장 하여 확인하고 있는데요...
: : :
: : : 다름이 아니라 구조체에 값을 빠르게 확인할 방법이 없어서요...
: : :
: : : struct TEST{
: : : uint8_t a: 1;
: : : uint8_t b: 1;
: : : }test;
: : :
: : : test 라는 구조체가 있다고 합시다..
: : :
: : : 이 test 구조체에 a와 b의 값이 0인지 1인지 알고 싶습니다...
: : :
: : : 그런데 저런게 100개가 있다고 하면 코드상 test.a, test.b.... 이런식으로 하면 너무 길어지잔아요..
: : :
: : : 그래서 test 구조체의 0비트부터 100비트까지 간단하고 빠르게 값을 확인 할 수 있는 방법이 있을까요??
: : :
: : : 많은 조언 부탁드립니다 ㅠㅠ;;
|