메뉴 건너뛰기

혹시 오버플로우가 발생하는 이유가 틀이 지정된 메모리 안에서 그 범위를 넘는 계산을 하면 보수처리를 하다 다른 부호의 값으로 바뀌게 되는 건가요?

 

소중한 질문 감사드립니다.

 

그렇습니다. 해당 범위를 넘어가게 되면 순환해서 다른 부호의 값으로 바뀌게 됩니다.

 

아래 예문을 보면 short 형은 -32768에서 32767까지의 범위를 가지는데 최대치 또는 최소치를 넘게 되면 순환해서 다른 부호의 값으로 넘어가게 됩니다.

 

#include<stdio.h>

 

 

int main(void)

{

  shorts_money = 32767;

  short s_money1 = -32768;

 

  s_money = s_money + 1;

  printf(s_money = %d”s_money); // 32768이 아니라 순환해서 -32768로 이동

 

  s_money1 = s_money1 - 1;

  printf(“s_money1 = %d", s_money1); // -32769가 아니라 순환해서 32767로 이동

  return 0;

 

}

 

실행결과

s_money = -32768

 

s_money1 = 32767

 

 

번호 제목 글쓴이 날짜 조회 수
공지 메인 함수가 2개 라는 에러메시지 발생했을 때 해결 방법 okchoi 2022.05.30 32
공지 [warning] implicit declaration of function 'scanf_s' 해결책 okchoi 2022.05.24 25
공지 main' must return 'int' 오류에 대한 해결방법 okchoi 2022.05.02 1008
공지 main 함수 관련 문의 okchoi 2022.05.02 13
공지 Dev C++ 테마파일 적용시키기 okchoi 2022.04.19 58
공지 연산자 나머지(%%) 표현 방법 okchoi 2022.04.11 219
공지 실행파일 사라지는 현상 okchoi 2022.04.10 8
공지 새로운 프로젝트 생성 방법 okchoi 2022.04.04 8
공지 main 함수 앞에 int, 마무리 할 때 return 0;은 무조건 써야 하는 건가요? okchoi 2022.03.22 349
공지 기말고사 Q/A 모음 okchoi 2021.12.03 22
공지 [Error] 'for' loop initial declarations are only allowed in C99 or C11 mode 해결방법 okchoi 2021.11.22 49
공지 scanf_s vs scanf okchoi 2021.10.23 15
공지 압축상태에서 프로젝트 파일 클릭시 일어나는 현상 okchoi 2021.09.24 7
공지 파일 확장명 표시하는 방법 okchoi 2021.09.12 75
공지 (C/C++)맥북에서 C언어,C++ 개발 환경 세팅하기 okchoi 2021.09.04 17
공지 Layout 파일 okchoi 2021.07.31 12
공지 Dev C++ 언어 한글(Korean) 설정 okchoi 2021.03.08 2310
공지 void main() 사용시 오류 okchoi 2020.10.24 292
공지 변수 선언 방법 okchoi 2020.07.09 8
공지 Id returned 1 exit status 오류 해결 방법 okchoi 2020.04.20 10675
2 [Warning] implicit declaration of function 'system' [-Wimplicit-function-declaration] okchoi 2020.12.07 5
» 오버플로우가 발생하는 이유가 보수와 관련이 있나요? okchoi 2020.09.27 3
위로