정수 부호 바꾸기(11자리 이상 정수는 안 돼요ㅠㅠ)
Emily
2023.04.01
질문 제목 : 정수 부호 바꾸는 프로그램에서 큰 수 입력정수 부호 바꾸는 프로그램에서 11자리 이상 정수 입력했을 때 잘못된 결과 출력되는 문제질문 내용 :
제가 이번에 비트연산 공부하면서 정수 부호 바꾸는 프로그램을 만들었는데요.(예를 들어 4는 -4로)
실행시켜 보니까 10자리 정수까지는 되는데 11자리 이상은 안 되더라고요.
(질문 비웃지는 마시고ㅠㅠ완전 초보입니다.)
어떻게 고칠 수 있는지 도움 부탁드립니다!!
#include stdio.h
int main(void)
{
int result;
int num;
printf(부호 바꾸고 싶은 정수 입력: );
scanf(%d, &num);
result=~num+1;
printf(%d의 부호를 바꾸면 %d \n, num, result);
getch();
return 0;
}
-
ChocoHoilc
아, 감사합니다!!
도움 되었어요^^ -
재미
int의 저장범위는 2^32 범윕니다.
log 때려보시면 아시겟지만 10진수론 9자리가 끝이죠.