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
[69415] Re:Re:Re:Re:Re:질문 내용이 충분하지 못했나봅니다 ㅠㅠ... 죄송해요;;
라스코니 [chouoo] 1987 읽음    2013-04-25 20:51
궁금합니다. 혹시 여성분이신가요?


구조체 님이 쓰신 글 :
: 답변 주셔서 정말 감사합니다!!! ^^
: 아.. 그런데 제가 질문 내용을 너무 간단히 생각해서 짧게 적었나봐요....
: 쉽게 생각해서 금방 될줄 알고 ㅎㅎ.. 충분한 설명 못드려서 죄송합니다 ㅠ;;
: 제가 하고 싶은 것은 이런 건데요.....
:
: 통신에 있어서 각 비트 마다 정해진 프로토콜이 정해 있을 겁니다...
: 그래서 쉽게 그 값을 파악하기 위해 구조체 안에 uint8_t a:1;와 같은 경우를 쓰잔아요..
: 그런데 문제는 배열을 써버리게 되면 그 비트 값이 어떤 내용인지 알기가 힘듭니다...
: 그래서 각 비트에 uint8_t flag:1;, uint8_t update:1;, uint8_t checksum:1;... 등 변수명을 주어 그 비트를 쉽게
: 값도 파악 하고 제어 할 수 있는데요.... 그런데 제가 하려는 것은 구조체에 모든 비트 출력해야 합니다.
:
: 즉... 프로그램에서 구조체의 각 비트들이 0인지 1인지 보여 주어야 하는데요.. 또한 그 비트를
: 한, 두개 값을 변경 시켜야 합니다. 그려려면...
: ----------------------------------------------------------------------------------------
: 1. 그 구조체의 모든 비트 값을 파악하여 출력해야하구요...
: 2. 구조체의 각 비트를 쉽게 제어하기 위해 변수명을 지정해야 합니다....
: ----------------------------------------------------------------------------------------
:
: 변수명으로 모든 비트를 출력하려니 코드가 너무 길어지구여....
: 출력을 위해 모든 값을 배열에 넣고 하려니 나중에 비트 제어하기에 힘들어지구여...
: 그래서 처음엔 구조체를 비트 연산으로 0인지 1인지 출력하고 구조체 변수명을 통해 비트를 제어하려고 했는데요...
: 구조체가 비트 연산자이 안되는 바람에 여기서 부터 문제가 생긴겁니다....
:
: 음... 충분한 설명이 되었나 모르겠네요;;; 뭔가 갑자기 복잡해진듯 ㅎㅎ;;
: 해결 할 수 있는 방법이 있을까요??? 음.. 어째든 답변 주셔서 감사합니다 ^^
:
:
:
: 장성호 님이 쓰신 글 :
: : 제가 질문을 잘 이해하지 못한듯 하네요
: :
: : 한번에 본다는것이 비트가 아니라 Byte단위로 보고싶다는 뜻인줄 이해했었습니다.
: :
: : 님께서 원하는 방식처럼  for문 즉 배열로 접근하려면
: : 다음과 같이 operator 오버라이딩 하시면 됩니다.
: :
: :
: : struct ST_DATA
: : {
: : 	Byte Data[12];
: :         //Operator 를 만들어 두시구요 
: : 	int operator[](int index)
: : 	{
: : 		int iByte=index/8;
: : 		int iBit=index%8;
: : 		return (Data[iByte]>>iBit)&0x01;
: : 	}
: : };
: : //------------------------------------------------
: : void __fastcall TForm8::Button1Click(TObject *Sender)
: : {
: : 	ST_DATA st;
: : 
: : 	st.Data[0]=0xff;
: : 	st.Data[1]=0x88;
: : 	st.Data[2]=0xAA;
: : 	st.Data[3]=0x55;
: : 	for(int i=0;i<32;i++)
: : 	{	
: :                 //다음과 같이 배열로 접근이 됩니다.
: : 		Memo1->Lines->Add(st[i]);
: : 	}
: : }
: : 

: :
: : 그럼..

+ -

관련 글 리스트
69392 구조체의 비트 값을 알고 싶습니다.. 구조체 1890 2013/04/25
69403     Re:구조체의 비트 값을 알고 싶습니다.. 라스코니 1904 2013/04/25
69404         Re:Re:해보시면 알겠지만 구조체라 그게 안되네요 ㅎㅎ;; 구조체 1786 2013/04/25
69407             Re:Re:Re:해보시면 알겠지만 구조체라 그게 안되네요 ㅎㅎ;; 라스코니 1959 2013/04/25
69409                 Re:Re:Re:Re:해보시면 알겠지만 구조체라 그게 안되네요 ㅎㅎ;; 구조체 1884 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:다시 문의 드립니다~~ 1851 2013/04/25
69411             Re:Re:Re:다시 문의 드립니다~~ 장성호 1929 2013/04/25
69414                 Re:Re:Re:Re:질문 내용이 충분하지 못했나봅니다 ㅠㅠ... 죄송해요;; 구조체 1667 2013/04/25
69415                     Re:Re:Re:Re:Re:질문 내용이 충분하지 못했나봅니다 ㅠㅠ... 죄송해요;; 라스코니 1987 2013/04/25
69395     Re:구조체의 비트 값을 알고 싶습니다.. 주누 1939 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.