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
[50171] [질문] 2의 보수(음수)를 10진수로 바꾸는 함수는 없나요???
너브 [nervegum] 1994 읽음    2007-08-04 01:18
안녕하세요^^
이론상으로만 2의 보수를 해보았지 이렇게 직접 쓰게 될줄은 꿈에도;;;;

타입은 DWORD 구요

10 이면 그냥
00 00 00 0a 겠구요...
-10 이라면
10의 보수를 취하면...
FFFFFFF5
이렇게 되고....
1을 더해주어서(2의보수)
FFFFFFF6 이렇게 되는게 맞겠죠???

문제는 위와 같이 -10의 값이 들어온다면.....
반대로 -1 해준다음에 not을 해주는건 알겠는데요...
정확하게 음수가 어디부터인지 몰라서요;; ㅜ.ㅜ

DWORD no;                                               // 32-bit unsigned integer.
long    value
if (no > (0xFFFFFFFF >>1)       {                   // 1. DWORD 값을 반으로 나눈 값보다 크면 음수 맞나요???
  no = ~(no -1) ;                                        // 2. 음수의 절대값을 계산...
  value = - no;                                           // 3.  앞에 (-) 부호를...................
  //
}

위와 같은 방법으로 처리하면 되는 건가요??
대충 위와 같은 방법으로 함수를 만들었는데...
주석 1번에서 음수부분을 판단을 하는 방법이 맞나요????

그리고 혹시 함수가 있는지요???

+ -

관련 글 리스트
50171 [질문] 2의 보수(음수)를 10진수로 바꾸는 함수는 없나요??? 너브 1994 2007/08/04
50172     Re:[질문] 2의 보수(음수)를 10진수로 바꾸는 함수는 없나요??? 아제나 2416 2007/08/04
50175         감사합니다. 너브 1029 2007/08/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.