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
[18655] Re:[질문이요~! ^^;] 보수에 관해서입니다.
불사새 [] 1161 읽음    2002-05-20 02:28
비트 계산시 꼭 배열로 해야하는 이유가 있나요?

비트로서의 분해를 먼저 하시기 전에 보수부터 구하시는게 빠르실겁니다.

2의 보수를 계산하는 방법은 모든 비트를 뒤집고 1을 더해주는거겠죠...

미리 배열로 비트를 쪼개버리면 계산하기가 참 까다롭습니다.

8비트 보수 계산을 예로 들면...

unsigned char bit;

bit입력을 받은후...

bit=bit^0xff;

bit=bit+1;

이러면 2의 보수 계산이 됩니다. XOR를 사용해서 비트를 뒤집어 버리면 됩니다.

이렇게 된 후 비트로 쪼개면 되겠죠. 여러가지 방법이 있겠군요...


for(int i=0;i<8;i++)
{
if(bit&(0x01< : : #define N 16 : : void main() : { : char *p, num[N+1] = {0}; : int i, r, n1, n2; : : while(1) : { : printf("\n정수를 입력하세요(종료:0) : "); : scanf("%d", &n1); : : n2 = n1; : : if( n1 == 0) : break; : for( i = 0; n1 != 0; i++) : { : r = n1 % 2; : num[N-1-i] = r + '0'; : if (r==0) : printf("1"); : else : printf("0"); : n1 = n1 / 2; : } : : : p = num+N-i; : : printf("\n2진법으로 변환 : %s\n",p); : : : } : }

+ -

관련 글 리스트
18654 [질문이요~! ^^;] 보수에 관해서입니다. 박준영 1199 2002/05/20
18677     ANSI C++ 라이브러리의 bitset 클래스도 알아두세요. 김백일 2030 2002/05/20
18683         Re:감사합니다. ^^ 박준영 742 2002/05/21
18655     Re:[질문이요~! ^^;] 보수에 관해서입니다. 불사새 1161 2002/05/20
18656         Re:Re:잉잉.. 무슨 말인지 모르겠어요.. ㅠ.ㅠ 박준영 860 2002/05/20
18657             Re:Re:Re:잉잉.. 무슨 말인지 모르겠어요.. ㅠ.ㅠ 불사새 1017 2002/05/20
18658                 Re:Re:Re:Re:정말 정말 감사드립니다. 박준영 935 2002/05/20
18659                     Re:Re:Re:Re:Re:그런데요...(수정) 박준영 997 2002/05/20
18661                         Re:Re:Re:Re:Re:Re:그런데요...(수정) 불사새 998 2002/05/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.