달력

1

« 2020/1 »

  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  

정수형의 언더플로우 & 오버플로우

   

   

강의내용

   

   

   

   

소스코드

#include <stdio.h>

int main(void) {

char num1=-129; // 최소값보다 -1만큼 작은 저장(언더플로우)

char num2=128; // 최대값보다 +1만큼 저장(오버플로우)

printf("%d \n", num1); // 127 출력

printf("%d \n", num2); // -128출력

num1=-130; // 최소값(-128)보다 -2만큼 작은 저장(언더플로우)

num2=129; // 최댜값(127)보다 +2만큼 저장(오버플로우)

printf("%d \n", num1); // 126 출력

printf("%d \n", num2); // -127출력

return 0;

}

   


   

 

출력내용

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

 

정수형의 오버플로우 & 언더플로우

정수형의 오버플로우와 언더플로우는 순환된 값을 출력합니다.

프로그래밍 언어가 자료유형에 대해 엄격한 언어가 아닌 경우 오버플로우가 일어나도 오류가 발생하지 않고, 현재 형이 수용할 수 있는 형태로 바뀌게 됩니다. 간혹, 경고를 발생하여 주는 경우도 있습니다.

 

 

   

오버플로우

자료형에 저장할 수 있는 최대 범위보다 큰 수 저장

   

char c=128;

최대값에서 +1만큼 오버플로우가 발생

   

언더플로우

자료형에 저장할 수 있는 최소 범위보다 작은 수 저장

   

char c=-129

최소값에서 -1만큼 언더플로우가 발생

Posted by codedragon codedragon

댓글을 달아 주세요