-
IEEE 754와 부동 소수점Extra Knowledge 2023. 9. 22. 03:59
* IEEE 754
- 컴퓨터에서 부동소수점을 표현하기 위해 가장 널리 쓰이는 표준
전기전자공학자협회(Institute of Electrical and Electronics Engineers, IEEE)는 전기전자공학 전문가들의 국제조직이다.
IEEE는 'I-Triple-E'(아이 트리플 이)라고 발음하며, 미국의 뉴욕에 위치하고 있다. 2004년 150개국 35만 명의 회원으로 구성된 전기전자공학에 관한 최대 기술 조직으로 주요 표준 및 연구 정책을 발전시키고 있다. 주요 역할은 전기 전자에 대한 산업 표준 회의를 통하여 정하고 이것을 공표하여, 산업 기기간의 표준화를 구현한다.
부동 소수점이란?
- 뜰 부 + 움직일 동 = 떠서 움직이는 소수점
- 우리가 배웠던 일반적인 소수
- 123.45 (123 : 정수부, 45 : 소수부)
- 부동 소수점의 경우 유효숫자를 사용한 곱셈 형태로 표현
- (부호) * (가수) * (밑수)^(지수)
- 가수 : 유효숫자
- 지수 : 소수점 위치
- 정규화 : 가수의 첫 번째 자리가 밑수보다 작은 한자리 자연수로 바꾸는 것
- 12.345
- 가수부 12.345(밑수보다 크니까 소수점 한자리 올림) -> 1.2345
- 밑수 10 (10진수)
- 12.345
- 지수의 값이 변하게 되면 소수점이 이동
- 왼쪽 그림의 경우 123.45 기준으로 적어놓은 것
- 원래 소수점 있던 곳이 지수가 0인 지점이고, 왼쪽으로 옮기면 1, 2, 3 / 오른쪽으로 옮기면 0, -1, ...
- 이진수로 표현
IEEE 754 부동 소수점 형식
https://devocean.sk.com/blog/techBoardDetail.do?ID=165270 * 가수부 처리
- 부동 소수점 방식은 정규화를 거치게 되는데, 정수 부분의 값이 클 수록 가수부의 크기도 커진다.
- 123456.7890 이라는 실수를 표현하려 하는데, 만약 가수부 자릿수가 5라고 하면?
- 1.234567890 * 10^5 (정규화) -> 1.23456 뒤부터는 잘려버린다.
- 가수부 자릿수가 더 클수록 원래의 값을 많이 유지하게 되고, 정밀도가 올라간다.
- 이 잘리는 부분을 어떻게 처리할 것인가?
- 짝수로 반올림
- 기본적으로 이 방식을 채택
- 소수부분이 정확히 0.5일 경우, 앞자리가 짝수라면 짝수 유지, 홀수라면 가까운 큰 정수로 반올림
- 4.5 -> 4
- 5.5 -> 6
- 큰 절대값으로 반올림
- 0.5 ~ 언제나 큰 정수로 반올림
- 4.5 -> 5
- 5.5 -> 6
- 0.5 ~ 언제나 큰 정수로 반올림
- 올림
- 양의 무한대로 반올림
- 버림
- 음의 무한대로 반올림
- 절삭
- 소수부분을 무시하고 가장 작은 정수로
- 짝수로 반올림
- 부동 소수점 구성 예시 (32bit float 형)
참고글
'Extra Knowledge' 카테고리의 다른 글
JDBC API에 대해서 (0) 2023.10.19 정보처리기사 정리 (3) - 화면설계, 데이터 입출력, 통합 구현, 인터페이스 구현 (0) 2023.10.04 정보처리기사 정리(2) - 서버 프로그램 구현, 소프트웨어 개발 보안 구축 (0) 2023.10.03 정보처리기사 정리(1) - 데이터베이스 (0) 2023.10.03