[ C/C++ ] 오버플로우와 언더플로우
·
Programming/C & C++
데이터 타입의 범위C/C++은 변수나 상수에 저장할 수 있는 데이터의 크기와 형식을 정의하기 위해 데이터 타입을 사용하여 정의해준다. 컴파일러는 데이터 타입을 통해 메모리 할당 크기, 데이터의 해석 방식, 수행할 수 있는 연산 등을 결정한다.이처럼, 각각의 자료형은 메모리 공간을 사용하여 변수를 할당하고, 표현 가능한 범위를 통해 값을 나타낸다. 하지만, 만약 표현 가능한 범위를 넘어간다면 어떻게 될까 ? 예를 들어 int 타입으로 변수를 지정했는데 할당된 변수가 $2,147483647$을 넘어버리거나, unsigned int 타입으로 변수를 지정했는데, 계산된 값이 음수값을 갖는다던가, , 이렇게 할당된 데이터가 메모리 공간을 초과할 때 생기는 현상을 오버플로우와 언더플로우라고 한다. 오버플로우(Ove..