C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[69399] Re:Re:Re:구조체의 비트 값을 알고 싶습니다..
주누 [junesaku] 2017 읽음    2013-04-25 13:46
아참 구조체가 1비트씩 할당된거라 그렇게 뜨는 겁니다.
주소는 바이트 단위로 있으니까요..

1바이트를 비트로 나누는 구조체를 임시로 만든뒤 그 구조체를 통해서
바이트 단위로 참조 하시면 되겠네요.

구조체 님이 쓰신 글 :
: 답변 감사합니다 ^^ 그런데요~ ㅠㅠ
:
: uint8_t *x = &(test.a);
:
: 저기에서 "[C++ Error] Unit1.cpp(23): E2011 Illegal to take address of bit field " 에러가 나네요..
:
: 음;;;; 어떻게 해야 할까요???  다시한번 답변 부탁드립니다 ^^
:
:
: 주누 님이 쓰신 글 :
: : 구조체 내에 내부 변수가 많은 것이고 모두 같은 타입이라고 할때
: : struct TEST{
: :     uint8_t a: 1;
: :     uint8_t b: 1;
: :     ...
: : }test;
: : uint8_t *x = &(test.a);
: : for( int i=0 ; i < sizeof(TEST)/sizeof(uint8_t); i++){
: :     if(*x == 0){
: :         ...
: :     }else{
: :         ...
: :     }
: :     x++;
: : }
: :
: : 실험은 안해봐서 모르지만 아마 작동은 할겁니다.  (제 기억이 맞나면 구조체 내부 변수의 경우 주소가 이어져 있음으로)
: : (구조체 align때문에 안될 수도 있습니다만.)
: : 그런데 보기도 어렵고 이해도 어렵고 이후 문제가 될 가능성이 높아 질 것같습니다.
: :
: : 구조체 님이 쓰신 글 :
: : : 통신을 이용해 각각의 비트 값을 저장 하여 확인하고 있는데요...
: : :
: : : 다름이 아니라 구조체에 값을 빠르게 확인할 방법이 없어서요...
: : :
: : : 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비트까지 간단하고 빠르게 값을 확인 할 수 있는 방법이 있을까요??
: : :
: : : 많은 조언 부탁드립니다 ㅠㅠ;;

+ -

관련 글 리스트
69392 구조체의 비트 값을 알고 싶습니다.. 구조체 1891 2013/04/25
69403     Re:구조체의 비트 값을 알고 싶습니다.. 라스코니 1905 2013/04/25
69404         Re:Re:해보시면 알겠지만 구조체라 그게 안되네요 ㅎㅎ;; 구조체 1786 2013/04/25
69407             Re:Re:Re:해보시면 알겠지만 구조체라 그게 안되네요 ㅎㅎ;; 라스코니 1960 2013/04/25
69409                 Re:Re:Re:Re:해보시면 알겠지만 구조체라 그게 안되네요 ㅎㅎ;; 구조체 1885 2013/04/25
69410                     Re:Re:Re:Re:Re:해보시면 알겠지만 구조체라 그게 안되네요 ㅎㅎ;; 라스코니 1564 2013/04/25
69412                         Re:Re:Re:Re:Re:Re:표현이 이상했나요?? ㅎㄷㄷ;; 구조체 1899 2013/04/25
69413                             Re:Re:Re:Re:Re:Re:Re:표현이 이상했나요?? ㅎㄷㄷ;; 라스코니 1898 2013/04/25
69402     Re:구조체의 비트 값을 알고 싶습니다.. 장성호 2090 2013/04/25
69406         Re:Re:다시 문의 드립니다~~ 1852 2013/04/25
69411             Re:Re:Re:다시 문의 드립니다~~ 장성호 1930 2013/04/25
69414                 Re:Re:Re:Re:질문 내용이 충분하지 못했나봅니다 ㅠㅠ... 죄송해요;; 구조체 1667 2013/04/25
69415                     Re:Re:Re:Re:Re:질문 내용이 충분하지 못했나봅니다 ㅠㅠ... 죄송해요;; 라스코니 1988 2013/04/25
69395     Re:구조체의 비트 값을 알고 싶습니다.. 주누 1940 2013/04/25
69397         Re:Re:구조체의 비트 값을 알고 싶습니다.. 구조체 1966 2013/04/25
69399             Re:Re:Re:구조체의 비트 값을 알고 싶습니다.. 주누 2017 2013/04/25
69401                 Re:Re:Re:Re:답변 감사합니다 ^^ 구조체 1894 2013/04/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.