게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 질문합니다.
게시물ID : computer_71258짧은주소 복사하기
작성자 : 띠아무르
추천 : 0
조회수 : 295회
댓글수 : 10개
등록시간 : 2013/01/06 02:34:48

#include <stdio.h>


int main(void)

{

int num;

printf("정수 입력:");

scanf("%d", &num);

num= ~num;

num=num+1;

printf("부호를 바꾼 결과: %d\n", num);


return 0;

}


2를 넣으면 -2가 나오고

-2를 넣으면 2가 나오는 그런 소스인데요.


여기서 제가 질문하고 싶은것은 num=num+1;를 왜 넣어야하는가 에 대한거에요.


예를들어 

int num1=15

int num2=~num1  

이라고할때 -16으로 산출되더라고요.

000000000 00000000 00000000 000011111->(반전시킨결과)11111111 111111111 11111111 11110000 ->(음수를 양수로)  000000000 00000000 00000000 00010000


왜 4비트로 나눠서 계산을 하는가.

그리고 왜 +1을 해야하는가가 궁금합니다.


저도 다시 한 번더 두번 더 세번 더 생각해보겠습니다.




꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호