언어 자료구조 알고리즘/디딤돌 C언어

[정답] 디딤돌 C언어 18. Overflow와 값 잘림 현상

언제나휴일 2016. 4. 29. 22:20
반응형



오버플로우와 값 잘림 현상

 

기본 연습
1. short
형식의 변수 s 0x7FFF 값으로 초기화한 s 변수에 1 더하면 10진수로 얼마인지 확인하는 코드를 작성하시오.
 
그리고 실행한 출력 결과의 이유를 설명하시오.
:
//1. short 형식의 변수 s 0x7FFF 값으로 초기화
//s 변수에 1 더하면 10진수로 얼마인지 확인하는 코드를 작성하시오.
//그리고 실행한 출력 결과의 이유를 설명하시오.
 
#include <stdio.h>
int main(void)
{
   
short s = 0x7FFF;
 
    printf(
"short s: %d\n",s);
    s+=1;
    printf(
"short s: %d\n",s);
   
   
return 0;
}
 
실행 결과
short s: 32767
short s: -32768
이유
short 
형식의 크기는 2바이트이며 부호있는 정수를 표현하는 형식입니다.
0x7FFF
이진수로 0111 1111 1111 1111 이며 short 표현할 있는 가장 정수입니다.
여기에 1 더하면 이진수로 1000 0000 0000 0000 이며 short 표현할 있는 가장 작은 정수입니다.
이러한 현상을 overflow라고 부릅니다.

본문 내용 바로 가기

반응형