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
[26830] 16진수를 ascii코드로 변환하려 하는데요..
쏘` [] 3237 읽음    2003-08-20 20:53
제가 하려는 프로그램을 대략 설명 하자면요..

ASCII코드를 16진수로 변환하여 RS232통신으로 날려주고 다시 RS232통신으로 16진수를 받아들여 ASCII코드로

변환하여 출력하는 프로그램입니다..

우선 ASCII코드('A')를 16진수(41)로 변환하여 날려주면 받는 쪽에서는

  char buf[0] = '4';
       buf[1] = '1';

이렇게 버퍼에 넣어줍니다. 그럼 두개의 버퍼를 8bit로 묶어주기 위해

buf[0]을 4bit Shift시켜준 후 buf[1]을 OR 해줍니다.

   char Result = (buf[0] << 4) | buf[1]);

그런후 ASCII로 변환하여 출력하려고 하는데요

shift 연산 후 대문자 'A'도 소문자 'a'도 모두 16진수 71이 되어버리네요..

숫자를 16진수로 변환하여 다시 ASCII로 변환 할 경우에는 숫자가 제대로 나오는데..

문자나 특수문자 입력시에는 Shift연산에서 이상한 값이 들어가게 되는데요..

왜 그런지 고수님들 알려주세요.. 부탁드립니다..


+ -

관련 글 리스트
26830 16진수를 ascii코드로 변환하려 하는데요.. 쏘` 3237 2003/08/20
33164     Re:16진수를 ascii코드로 변환하려 하는데요.. 쏭이 1698 2003/08/20
26847     Re:16진수를 ascii코드로 변환하려 하는데요.. 이채호 1303 2003/08/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.