게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 ~연산자 질문이요
게시물ID : programmer_12444짧은주소 복사하기
작성자 : 뭇월
추천 : 0
조회수 : 806회
댓글수 : 6개
등록시간 : 2015/07/30 11:01:29
옵션
  • 본인삭제금지
#include <stdio.h>
int main (void)
{
    int num1=20;
    int result1;
 
    result1= ~num1;
    printf("비트 단위 ~ 연산의 결과 %d \n", result1);
 
    return 0;
}
 
비트 단위 ~ 연산의 결과 -21
계속하려면 아무 키나 누르십시오...
 
이렇게 뜨는데 왜 ~20의 결과가 -21인지가 이해가 안되네요
0000 0000   0000 0000   0000 0000   0000 0000   0001 0100 (20)
 
1111 1111   1111 1111   1111 1111   1111 1111   1110 1011 (-21)
 
~ 연산이  비트단위로 1의 보수를 취한다는 것은 이해했습니다.
그런데 1111 1111   1111 1111   1111 1111   1111 1111   1110 1011 이 수가 왜 -21인지가 이해가 안됩니다
2진수로 보면은 어마어마하게 큰 수이지 왜 음수 -21인지가 이해가 안됩니다.
왜 1111 1111   1111 1111   1111 1111   1111 1111   1110 1011이 -21인가요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호