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

FireBird Q&A
[711] Re:Re:Re:죄송합니다. 자세히 좀...
최준호.스페로 [sparrow] 2019 읽음    2003-04-21 00:08
말을 제가 어렵게 해서 이해하는데 혼란이 왓는지 모르겟군요..

int main(int argc, char* argv[])
{
  char a = 'a';
  char b = 'b';
  char c;
  c = a ^ b;
  printf("1: %c  \n" , c);  //<== XOR에 의해 변형
  printf("1: %d  \n" , c);  //<== XOR에 의해 변형된 값을 숫자로 표시 해보자



  c = c ^ b;
  printf("2: %c \n" , c);  //<== 한번더 b로 XOR하면 원래 a문자 출력

  return 0;
}

위 소스를 보시면 알겟지만 8비트가 알아서 XOR연산이 된다는 겁니다.
사실은 char a ='a' 에서 소문자 a 는 97입니다.
그리고 b는 98입니다.

01100001 <-- 97 a문자
01100010 <-- 98 b문자
--------
00000011 <-- 3  ASCII 3번 문자

이렇게 8비트는 알아서 처리된다는 거구요

님의 과제는 문자열을 처리하는 거니까 연산의 해당하는 단일 문자 위 예제에서는 b변수에 해당하는 넘과 문자열을 문자열의 첫번째 문자 부터 끝번째 문자 까지 루프를 돌려가면서 하나하나 ^ (XOR) 연산을 해야 한다는 의미였습니다.

char[] 배열을 이용하셔야 겟구요

저장할 char[]배열이 필요하겟죠..

char 배열의 인덱스를 0부터 증가 시키면서 문자열의 길이보다 1작게 까지

그것과 단일문자와 XOR연산을 시켜서 다른 배열의 저장 하는 루틴을 구현 하면 됩니다.

그럼 ^^



??? 님이 쓰신 글 :
: 모든 문자열을 하나하나  어떻게 루프를 돌리죠 ???
:
: 내부적으로 문자 (char) 는 1바이트 8비트로 각각의 비트들이 XOR연산을 한답니다. <== 이걸 어떻게

: 하죠? 번거려우실텐데 죄송합니다.

+ -

관련 글 리스트
708 이것좀 갈켜주세엽 ㅠ.ㅠ ??? 1941 2003/04/19
709     Re:이것좀 갈켜주세엽 ㅠ.ㅠ 최준호.스페로 2076 2003/04/20
710         Re:Re:죄송합니다. 자세히 좀... ??? 1930 2003/04/20
711             Re:Re:Re:죄송합니다. 자세히 좀... 최준호.스페로 2019 2003/04/21
712                 윽 안돼네엽 ㅠ.ㅠ ??? 1791 2003/04/21
713                     Re:윽 안돼네엽 ㅠ.ㅠ 최준호.스페로 1936 2003/04/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.