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
[11666] Re:[만해]바이너리 코드 알수 있을까요?
김백일 [] 1345 읽음    2001-10-10 06:06
만해 님이 쓰신 글 :
: 안녕하세요 만해 입니다.
:
: 제가 친구 부탁으로 리포트를 해주게 되었는데요~
:
: 물론~ 그냥은 아니지만~
:
: 인티져 값을 가져와서 바이너리 연산을 해서
:
: 덧셈도 바이너리로 처리하고
:
: 뺄셈도 바이너리로 처리하라고 하는데요
:
: 인터져를 어떻에 바이너리로 출력 시키는지 잘 모르겠네요
:
: sprintf(temp."%b",int) <- 이렇게 하니깐 "b"라는 글자만 나오고요
:
: 어떤식을 해줘야지 int형 변수의 바이너리 값을 얻을수 있는지 좀 알려 주세요
:
: 그럼 이만

재밌는 질문이네용..

기본적으로 대부분의 C/C++ 컴파일러는 10진수, 8진수, 16진수만 처리할 뿐,
이진수를 직접적으로 처리하지 않습니다.
(물론 그런 컴파일러도 있다는 걸 책에서 읽은 적이 있습니다. 0b1101 식으로 말이죠.)

결국은 문자열을 사용해야한다는 얘기지요.

가장 무식한 방법을 생각하자면,
중학교 수학시간에 배우신 대로 10진수를 2진수로 변환하는 앨거리듬을 직접 구현하시면 되고요.

만약 이 정도 앨거리듬 구현도 하기 싫으시다면, ^^;
sprintf(temp, "%x", nDecimal)이나, 빌더의 IntToHex()를 사용하여
정수값을 16진수 형태의 문자열으로 변환해줍니다.
이렇게 만들어진 16진수 문자열의 0부터 f까지를 0000에서 1111로 변환하는
무식한(?) switch ... case 문을 사용해서 이진수 문자열로 변환하면 되겠죠.

+ -

관련 글 리스트
11665 [만해]바이너리 코드 알수 있을까요? 만해 755 2001/10/10
11673     Re:[만해]바이너리 코드 알수 있을까요? 지나가는 사람 929 2001/10/10
11668     Re:[만해]바이너리 코드 알수 있을까요? 미스콜이아 890 2001/10/10
11666     Re:[만해]바이너리 코드 알수 있을까요? 김백일 1345 2001/10/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.