* warning : 이건 공부한 CS 지식을 내 말로 정리하고 기억하기 위해 작성하는 것으로, 틀린 표현이 있을 수 있습니다 -> 피드백 적극 환영

부동 소수점
정의 : 2진 실수 데이터 저장 할 때 맘대로 정수 부분을 길게 표현 하거나 소수 부분을 길게 표현할 수 있게 하는 표현법 (고정 소수점으로 하면 너무 오차 값이 크잖슴.. )
IEEE 754 표준 부동소수점이라는 표준이 있는데 그거 어떻게 하는지 배울거임.
1. IEEE 754 표준 부동소수점 표현 방식
-13.625 라는 숫자를 EEE 754 표준 부동소수점 표현 방식으로 바꿔보자.
우선 32bit 를 기준으로 할지 64bit를 기준으로 할지 골라야 한다.
골랐으면 이제 3개의 공간에 값을 쪼개서 넣으면 된다. 근데 그 쪼개는 방법 겁나 번거로움.

1. 부호 : 부호 는 1bit 차지하고 +면 0 /-면 1을 넣으면 된다.
우리의 예시는 -니까 1 넣으면 된다.
2. 지수부:
(지수부에 그냥 정수 부분 넣으면 편하겠건만.. 좀 절차를 거쳐서 넣어야 한다. )
일단 13.625 를 2진수로 변환부터 해야 한다.
13 -> 1101
0.625 -> 101
그럼 1101.101
이 나온다.
이걸 1.XXX * 2ⁿ 이런 형식으로 바꿔줘야 한다.
-1101.101 -> -1.101101 * 2³
이제 드디어 지수 부분에 뭘 넣냐면
127에 2의 지수를 더하면 된다.
그럼 여기서는 127 + 3 이니까 130을 2진수로 또 변환해서..
=> 10000010 을 지수부에 적어주면 된다.
(만약 1000 -> 이런 숫자처럼 8비트를 가득 채우지 않는 수가 나오면 앞에 0을 붙여서 00001000 이렇게 써주면 된다. )
< 근데 왜 127인가? >
왜냐면 8비트 안에 지수를 적어야 하는데 (아 32비트단정도 형식이라는 가정하에)
음수 양수 다 표현을 해야 하잖슴... 그래서 0 ~ 255 까지 표현이 되니까 반은 음수 반은 양수로 쓰려고 중간 값인 127을 더하는거
3. 가수부
여기에는 아까 구한 1.XXX 처럼 생긴 애의 XXX 부분을 적어주면 된다. 그리고 남은 비트는 다 0으로 채워주면 된다.
=> 우리의 경우에는 101101 이다.
그럼 완성!
1 10000010 10110100000000000000000
이러면 이제 -13.625 라는 숫자를 EEE 754 표준 부동소수점 표현 방식으로 바꾸기 완성!
+ 부동소수점 수의 산술 연산 절차도 알고 있으면 좋은데 시간 없어서 이만 줄임...
'CS 🦾' 카테고리의 다른 글
| 제어장치와 연산장치 (0) | 2026.02.10 |
|---|---|
| 컴퓨터 시스템의 구성요소 (0) | 2026.02.09 |
| 고정 소수점 (0) | 2026.02.04 |
| 혼자 공부하는 컴퓨터 구조 + 운영체제 - 제 5장 CPU 성능 향상 기 (1) | 2024.12.19 |