2022. 2. 8. 17:49ㆍIoT Embeded 강의
자료형 마다 정해진 메모리 크기가 있습니다. 메모리 크기에 따라 표현할 수 있는 데이터 수도 차이가 납니다. 그런데 만약 자료형이 표현할 수 있는 범위를 넘어서는 값을 입력하면 컴퓨터에는 잘못된 데이터가 입력됩니다.
1. Over flow
자료형의 지정한 크기보다 큰 값을 입력했을 때 쓰레기값이 입력되는 현상을 말합니다.
2. Under flow
자료형의 지정한 크기보다 작은 값이 입력했을 때 쓰레기값이 입력되는 현상을 말합니다.
#include <stdio.h>
int main()
{
//over flow: 자료형의 지정한 크기보다 큰 값
short ok = 32767;
short flow = 32768;
printf("ok = %d\n", ok);
printf("flow = %d\n", flow);
//under flow : overflow 의 반대
short unok = -32768;
short unflow = -32769;
printf("unok = %d\n", unok);
printf("unflow = %d\n", unflow);
return 0;
}
short 자료형은 -32768~32767까지 정수를 표현할 수 있습니다. over flow 부분을 보시면 ok 변수는 32767, flow 변수는 32768을 입력했습니다. 그러면 ok 는 그대로 출력이 나오지만 flow는 한바퀴 돌아서 다시 -32768을 출력하게 됩니다. 이처럼 상한범위를 초과한 현상을 over flow라 합니다.
반대로 under flow 의 부분을 보면 하한범위를 초과하게 되는 경우를 under flow 라고 합니다.
'IoT Embeded 강의' 카테고리의 다른 글
C언어 기본 구조와 통합개발환경(IDE) (0) | 2022.02.09 |
---|---|
변수, 자료형, 식별자, 전역/지역 변수 (0) | 2022.02.09 |
반복문의 기본 문법 (0) | 2022.02.08 |
조건문의 기본 문법 (0) | 2022.02.07 |
C언어 에러 종류 (0) | 2022.02.04 |