본문 바로가기

floating point

Normalization 만약, 71.3125(+1000111.0101)를 표현하기 위해서는 먼저 부호(sign), 모든 비트, 그리고 소수점의 위치를 메모리에 저장해야 한다. 이것은 가능한 이야기임에도 불구하고, 이 방법은 수를 계산하는 것은 복잡하게 만든다. 표준화된 부동소수점(floating point) 표현 방법이 필요할텐데, 그 방법은 소수점 자리의 왼쪽에 1만 남기도록 소수점 자리를 이동하는, 표준화(normalization)이다. 어떤 수의 원래 값을 알기 위해서, 2^e를 곱해야 하며, e는 이동한 소수점 자리이다. 왼쪽으로 이동하는 것은 양수(positive)를 나타내며, 오른쪽으로 이동한 것은 음수(negative)를 나타낸다. 부호는, 원래 값의 부호에 따른다. Examples of normalization .. 더보기
Floating Point Representation 정수(integer) 부분과 분수(fraction) 부분을 포함하고 있는 부동소수점(floating poing number)을 표현하기 위해서, 수는 정수와 분수 두 부분으로 나누어져야 한다. 예를 들어, 부동소수점 14.234라는 수는 14라는 정수와 0.234라는 분수를 가진다. 부동소수점을 이진수로 변환하려면, 다음과 같은 절차를 따른다. 1. 정수 부분을 이진수로 변환한다. 2. 분수 부분을 이진수로 변환한다. 3. 10진수 소수점 자리를 두 부분 사이에 둔다. 분수를 이진수로 변환하기 위해서, 반복되는 곱셈 방법을 사용한다. 예를 들어, 0.125를 이진수로 바꾸기 위해서, 먼저 2를 곱한다. 결과는 0.250이며, 결과의 정수 부분이 추출되고, 이것이 가장 왼쪽에 위치한 이진 자리수가 된다. .. 더보기