Please enable JavaScript.
Coggle requires JavaScript to display documents.
3장 컴퓨터 연산 (실수 # (IEEE 754 (NaN 표기, 무한대 표기, 정규화, 바이어스), 부동소수점 (부호비트, 지수,…
-
-
-
-
Question. 부동소수점이 2배 정밀도로 확장할 때(32비트에서 64비트) 지수부분은 3bit 늘어나는 반면에 가수부분은 무려 23비트에서 52비트로 늘어난다. 왜 지수부분에 비해서 가수 부분이 지나치게 늘어나는 것인가.
Thinking. 지수의 범위가 넓을 필요가 있는지 일단 의문이 든다. 과학의 분야를 예로 들어서 생각해본다. 천문학은 굉장히 큰 수를 다룬다. 광년이라는 새로운 단위를 만들기도 한다. 반면 양자 역학을 비롯하여서 미시세계를 다룰 때는 굉장히 작은 수를 다룬다. 중요한 것은 천문학자이면서 동시에 양자역학을 공부하지 않는다는 것이다. 숫자의 표현 범위가 중요하기 보다는 오히려 제한된 범위 내에서 정밀도가 높은 것이 중요하다. 이러한 관점에서 지수보다 가수의 확대를 통해 정밀도를 높이는 것이 중요하다고 판단된다.
-
-
Thinking. 완전히 무시할 수는 없을 것 같다. 일단 연산의 결과로 나온 주소에 중요한 데이터가 있다면 오버플로우를 인지하지 못하고 메모리를 사용했을 경우 데이터 손실이 일어나게 된다.
-
Thinking. 10진수 실수를 2진수로 변환하는 과정에서 무한소수가 발생하기 쉽다. 왜냐하면 2의 음수 거듭제곱의 합을 통해 십진수 소수와 정확히 일치되도록 표현하기 어렵기 때문이다. 따라서 가수부분이 무한정 늘어날 것이다. 정밀도가 중요하지 않은 상황이라면 적당한 수준에서 반올림을 해서 연산을 하면 빠른 결과를 낼 수 있지 않을까. 애초에 정확한 값으로 표현하기 어렵다면 속도를 빠르게 하는 것이 좋을 듯 하다.
-
-