Post

오버플로우

컴퓨터는 유한한 메모리(RAM)를 가지기 때문에 유한한 크키의 비트만 저장할 수 있다. 따라서 그 유한한 비트 값을 넘는 수는 저장할 수 없다. 이러한 하드웨어의 한계로 인하여 발생하는 문제를 오버플로우라 한다.

대표적인 오버플로우 문제 :

  1. 부동 소수점 부정확성
    부동 소수점(32bits)은 sign을 나타내는 부분 s(1bit) + 지수부분(8bits) e + 소수부분(23bits) f 로 나뉘고 부동소수점의 수는 (-1)**s * f * 2**e로 나타낸다. 양수의 지수가 지수 범위보다 클 경우 음수로 표현되는 오버플로우가 발생한다.

  2. 정수 오버플로우
    만일 3bits만 저장할 수 있는 컴퓨터라면 111 다음에 1000을 나타내야하는데 000을 나타내는 경우를 정수 오버플로우라 한다.

해결방안:
언어별 형식연산자의 범위를 확인하며 사용한다

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.