부동소숫점 표현 방식은 다음과 같다.
sign * mantisa * 2 ^ Exp
IEEE 754 로 검색하면 자세히 나온다.
학교 시스템 프로그래밍 수업에서 이 부동소숫점 더하기를 직접 구현하는 과제가 나왔다.
unsigned int 형 으로 인자를 받아서 float 형 연산없이 구현하는 것이다.
구현은 다음과 같다.
과제의 제약조건이 양수만 가정하여 다행이였다.
그리고 Round 처리 부분도 편의가 있는데
일반적으로 mantisa 부분을 그냥 더하면
소숫점 이하부분이 버려질때 라운드 처리를 어떻게 하느냐에 따라
정밀도도 달라진다.
위 파일은 보고서..
'간단프로그래밍' 카테고리의 다른 글
opencv SURF 실험 (0) | 2011.05.09 |
---|---|
확장 정규식 parsing 템플릿 (0) | 2010.10.04 |
floating point (0) | 2010.04.12 |
BIG INT 그리고 팩토리얼 (0) | 2010.03.06 |
strlen, strcpy, strcat, strcmp 구현해보기 (2) | 2009.12.04 |
sort 함수들 범용성을 지니게 하기 (사용예) (0) | 2009.11.28 |
댓글을 달아 주세요