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
[13141] Re:비트 시프트 연산관련 질문(char 형)^^급한 질문...
화이트 [] 1162 읽음    2001-11-27 13:36
heartsim 님이 쓰신 글 :
: 안녕하세요.빌더 초보입니다.
: 비트 시프트 연산과 관련해 질문이 있어서요.^^
: 먼저 관련 소스입니다.
:
: char TotalData[3]={0,0,0};
:
: TotalData[0]=16;
: TotalData[1]=1;
:
: if(Table1->FieldByName("Name")->AsString=="NTPAL")
:                         TotalData[2]=TotalData[2] | Edit5->Text;
:                 else if(Table1->FieldByName("Name")->AsString=="CCD")
:                         TotalData[2]=TotalData[2] | Edit5->Text<<1;
:                 else if(Table1->FieldByName("Name")->AsString=="YDOUT")
:                         TotalData[2]=TotalData[2] | Edit5->Text<<2;
:                 else if(Table1->FieldByName("Name")->AsString=="UVDOUT")
:                         TotalData[2]=TotalData[2] | Edit5->Text<<4;
:                 else if(Table1->FieldByName("Name")->AsString=="REC601")
:                         TotalData[2]=TotalData[2] | Edit5->Text<<5;
:                 else if(Table1->FieldByName("Name")->AsString=="DSYNC")
:                         TotalData[2]=TotalData[2] | Edit5->Text<<6;
:                 else if(Table1->FieldByName("Name")->AsString=="SG135")
:                         TotalData[2]=TotalData[2] | Edit5->Text<<7;
:
: for(int i=0;i<3;i++)
: {
:         ComPort1->WriteStr(TotalData[i]);
: }
:
: 위와 같습니다.
: 일단 시프트는 <<(왼쪽으로) 이동하는게 맞는 것 같은데요...
: 그리고 WriteStr을 전송할 때 TotalData를 AnsiString형이 아닌 char형으로 했습니다.
: 여기까지는 프로그램이 돌아가는 것으로 봐서는 문제가 없는 듯........
: 그런데...
: 맨 끝에 Edit5->Text<<7로 했을 때, 1로 세팅을 하면 invalid라고 에러가 나더군요.
: 물론 원인은 char형으로 해서인지 1xxx xxxx로 자리수를 넘어서서 그런 것 같습니다.
: 일단은 int형이나 unsigned형으로 하고 시리얼 전송을 해보니 결과 값이 다르게
: 나오더군요.
: 해결책이 없을가요?
: ^^
:
:
: 즐거운 하루되세요.

:

:
:
:
:


AnsiString 은 Class 입니다.
근데
Class 와 char형 변수와의 비트연산은 좀 이상한데요.


+ -

관련 글 리스트
13129 비트 시프트 연산관련 질문(char 형)^^급한 질문... heartsim 981 2001/11/27
13146     Re:비트 시프트 연산관련 질문(char 형)^^급한 질문... 아리랑 1621 2001/11/27
13153         다시 질문 올립니다.........정말 힘드네요..........-.-고수님들의 답변 부탁드릴게요................... heartsim 772 2001/11/27
13154             Re:다시 질문 올립니다.........정말 힘드네요..........-.-고수님들의 답변 부탁드릴게요................ 아리랑 829 2001/11/27
13158                 안녕하세요..말씀 대로 했는데 결과 값이 다르게 나오네요........^^;; heartsim 720 2001/11/27
13159                     Re:안녕하세요..말씀 대로 했는데 결과 값이 다르게 나오네요........^^;; 아리랑 866 2001/11/27
13160                         제 소스가 좀 애매한 점이 있네요... heartsim 766 2001/11/27
13182                             99% 해결이 된듯 하네요..근데 딱 한가지 문제가...^^ heartsim 950 2001/11/28
13141     Re:비트 시프트 연산관련 질문(char 형)^^급한 질문... 화이트 1162 2001/11/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.