← 2026 2학년 프로그래밍

IEEE 754

Floating-point Representation

실수는 정수와 달리 소수점 아래의 값까지 표현해야 하므로 컴퓨터 내부에서 별도의 저장 방식이 필요하다. 삼양미디어 『프로그래밍』에서는 실수를 2진수로 바꾼 뒤 IEEE 754 표준에 따라 부호, 지수부, 가수부로 나누어 저장하는 방법을 소개한다.

Colab에서 열기 → · Notebook 파일 보기 →

단정도 32비트 구조

부분역할
부호 비트 · 1비트양수와 음수를 구분
지수부 · 8비트정규화된 2진수의 지수를 bias 127을 이용해 저장
가수부 · 23비트정규화된 유효 숫자의 소수 부분을 저장

10진수 실수를 저장하는 흐름

과정내용
1. 2진수 변환10진수의 정수 부분과 소수 부분을 2진수로 표현
2. 정규화2진수를 1.xxxxx × 2ⁿ 형태로 정리
3. 부호 결정양수는 0, 음수는 1을 부호 비트에 저장
4. 지수부 결정실제 지수에 bias 127을 더해 8비트로 표현
5. 가수부 결정정규화된 수에서 맨 앞의 1을 제외한 비트를 가수부에 저장
6. 결합부호 비트 + 지수부 + 가수부를 이어 32비트 실수 표현 완성

교과서 예시와 연결

0.15625는 2진수로 0.00101₂이고, 이를 정규화하면 1.01₂ × 2⁻³이 된다. 이때 부호는 양수이므로 0, 실제 지수는 -3이므로 저장 지수는 124가 되며, 가수부에는 정규화된 수에서 맨 앞의 1을 제외한 비트를 저장한다.

Python으로 과정 확인하기

수업에서는 교과서의 개념을 확장하여 10진수 실수가 32비트 표현으로 바뀌는 과정을 단계별 코드로 확인한다. 완성된 결과만 보는 것이 아니라 정수 부분 변환, 소수 부분 변환, 정규화, 지수부와 가수부 생성이 어떻게 이어지는지 살펴본다.

예시 · 10.625

과정결과
2진수 표현1010.101₂
정규화1.010101₂ × 2³
부호 비트0
저장 지수130
지수부10000010
가수부01010100000000000000000
최종 32비트01000001001010100000000000000000

관련 Coding Practice

IEEE 754 구현 과정에서 사용하는 입력, 반복, 함수 흐름은 Coding Practice의 기초 문법·제어 구조·함수 문제로 다시 연습할 수 있다.

기초 문법 → · 제어 구조 → · 함수 →

이 페이지의 Python 구현은 교과서의 IEEE 754 개념을 단계별로 확인하기 위한 수업용 확장 자료이다. IEEE 754 전체 규격이나 모든 특수한 실수 표현을 다루는 범용 변환기를 설명하는 것은 아니다.

⌂ Home