언더플로우(Underflow)는 주로 컴퓨터 과학 및 수치 계산에서 발생하는 현상으로, 데이터의 표현 범위를 넘어서서 값이 더 이상 존재할 수 없을 때 발생한다. 이 현상은 일반적으로 정수 또는 부동 소수점 수의 표현에서 발생하며, 특정 숫자 값을 측정하거나 계산할 때 그 값이 가장 낮은 표현 가능한 수치보다 작아지는 상황을 의미한다.
예를 들어, 컴퓨터가 정수를 저장할 때 사용할 수 있는 비트 수가 제한되어 있을 경우, 가장 작은 음수 값을 초과해 계산을 진행하면 언더플로우가 발생할 수 있다. 이는 대개 잘못된 결과를 초래하며, 프로그램의 오류나 예외 상황을 일으킬 수 있다.
부동 소수점 수의 경우에도 비슷한 원리가 적용된다. 수치가 0에 매우 가까워지거나 매우 작은 값을 갖는 경우, 언더플로우가 발생하여 값이 0으로 처리될 수 있다. 이는 수치 계산의 정확성을 저하시키고, 일부 알고리즘의 동작에 영향을 미칠 수 있다.
언더플로우를 방지하기 위해서는 데이터의 범위를 명확히 정의하고, 적절한 범위를 초과하지 않도록 주의해야 하며, 수치 연산 전에 값의 크기를 점검하는 방법도 중요하다.