비정상 값

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

컴퓨터 과학에서, 비정상 값(denormal numbers, denormalized numbers, 또는 subnormal numbers라고 부름)은 부동 소수점 연산에서 0 주위의 언더플로 차이를 채워준다. 가장 작은 일반 숫자보다 더 작은 0이 아닌 값를 '비정상'이라고 한다.

정상적인 부동 소수점 값에서는 가수에 0이 하나 또는 여러개로 선행할 수 없다; 대신 선행 0은 지수로 이동된다. 따라서 0.0123은 1.23 × 10−2으로 작성될 것이다.

비정상 값은 최소 지수값 (지수는 일반적으로 제한된 범위를 가진다.) 아래의 지수값으로 표현되는 숫자들이다. 그런 숫자들은 가수가 선행 0으로 표현될 수 있다.

IEEE 부동 소수점 숫자의 가수는 유효 숫자를 표현하는 부동 소수점 숫자의 일부이다. 정규화된 양수는 m0.m1m2m3...mp-2mp-1 (m은 유효한 숫자이고 p는 정밀도이고, m0은 0이 아니다.)로 표현될 수 있다. 이진 기수의 경우 언제나 맨 앞의 숫자는 1이다. 가장 작은 정상적인 숫자보다 0에 가까운 숫자를 표현하기 위해서 비정상 값은 지수가 가능한 가장 작은 값이기 때문에 가수 (0.m1m2m3...mp-2mp-1) 에 0이 올 수 있다.

예를 들어, 만약 표현 가능한 가장 작은 양수가 1×β-n라면 (β는 부동 소수점 체계에서의 밑, 일반적으로 2 혹은 10), 그보다 더 작은 모든 양수는 비정상으로 표현할 수 있다.

비정상 값을 만들어내는 것은 결과값이 작을 때 정확도를 천천히 잃어버리는 계산을 허용하기 때문에 점진적인 언더플로우라고 불린다.

참고자료[편집]