적극적 생각/전공버퍼

운영체제 / 논리회로 일반 [2]

무말랭이 2022. 7. 29. 12:59

[질문]

 

컴퓨터는 소숫점 계산을 잘 못합니다. 그 이유가 무엇일까요? 어떻게 문제를 해결할 수 있을까요? 직접 구현한다면 어떻게 하시겠습니까?

 

[답변]

 

수의 개념이 정수에서 실수로 넘어가면서 소수의 개념이 생기고

소수를 다루기 위하여 고정소수점과 부동소수점으로 나뉘는데 

진수변환의 결과를 직접 사용하면 고정소수점이고, 

비트수에 따라, 부호비트, 지수부, 가수부로 나눠짐을 활용하기 위해 norm 또는 bias등의 개념이 사용된다.

일반적으로 수를 정밀하게 다루기 위해서 사용하는 C, Pascal 등의 Low Level 언어들에서는 

IEEE 754 표준이 사용되고 있다. 이 표준은 1970년대에 제정되었다.

직접 구현하는 상황일때, 특이사항이 없다면, 엔지니어로서 표준을 준수할 것이다. 

 

[복습 및 학습용 참고문헌]

 

https://gsmesie692.tistory.com/94

 

컴퓨터에서의 실수 표현: 고정소수점 vs 부동소수점

어제 트위터 타임라인을 보다가, '부동소수점' 이라는 단어를 보면 어떻게 해석하게 되느냐는 그런 트윗이 RT로 넘어왔다. 생각해보니까 굉장히 비직관적인 단어다. 원래 영어단어는 floating point

gsmesie692.tistory.com

 

https://modoocode.com/attachment/%EB%AA%A8%EB%93%A0%20%EC%BB%B4%ED%93%A8%ED%84%B0%20%EA%B3%BC%ED%95%99%EC%9E%90%EA%B0%80%20%EC%95%8C%EC%95%84%EC%95%BC%20%ED%95%A0%20%EB%B6%80%EB%8F%99%20%EC%86%8C%EC%88%98%EC%A0%90%EC%9D%98%20%EB%AA%A8%EB%93%A0%EA%B2%83.pdf

 

https://www.sciencedirect.com/science/article/pii/S1474667017448208?via%3Dihub 

 

Formal Specification of IEEE Floating-Point Arithmetic Using PVS

A significant portion of the ANSI/IEEE-854 Standard for Radix-Independent Floating Point Arithmetic is fonnally defined using PVS (Prototype Verificat…

www.sciencedirect.com