[Computer Architecture] 고정 소수점 & 부동 소수점

jiny·2026년 2월 4일

Computer Science

목록 보기
4/16

1. 컴퓨터의 실수 표현 방식 개요

컴퓨터에서 실수를 표현하는 방식은 고정 소수점(Fixed Point) 방식과 부동 소수점(Floating Point) 방식 두 가지가 존재한다.

2. 고정 소수점(Fixed Point) 방식

(1) 정의 및 구성 요소

  • 정의: 소수점이 찍힐 위치를 미리 정해놓고 실수를 표현하는 방식이며, 실수를 정수부와 소수부로 나누어 표현한다.
  • 구성 요소: 예를 들어, 실수 -3.141592를 표현하기 위해서는 부호(-), 정수부(3), 소수부(0.141592)의 3가지 요소가 필요하다.

(2) 장점 및 단점

  • 장점: 실수를 정수부와 소수부로 표현하기 때문에 구조가 단순하다.
  • 단점
    • 표현할 수 있는 수의 범위가 너무 적어 활용하기 어렵다.
    • 일반적으로 정수부는 15비트, 소수부는 16비트로 할당되어 표현 범위가 제한된다.

3. 부동 소수점(Floating Point) 방식

(1) 정의 및 원리

  • 정의: 실수를 가수부지수부로 표현하는 방식

    🌟 가수부, 지수부

    부동 소수점에서 가수부와 지수부는 숫자를 아주 효율적으로 표현하기 위해 사용하는 '과학적 표기법'의 구성 요소라고 생각하면 쉽다.
    우리가 아주 큰 수를 쓸 때 1.23 × 10^8처럼 쓰는 것과 같은 원리이다.

    1. 일상적인 예시로 이해하기
      숫자 123.45를 부동 소수점 방식으로 표현해 보자.
      • 표기 방식: 1.2345 × 10²
      • 가수부(Mantissa): 1.2345 → 숫자의 실제 유효한 값들을 담당한다.
      • 지수부(Exponent): 2 → 소수점을 어디로, 얼마나 옮길지 결정하는 '크기(자릿수)'를 담당한다.

    이렇게 표현하면 소수점이 고정되지 않고 지수 값에 따라 앞뒤로 둥둥 떠다닐(Floating) 수 있게 된다.

    1. 컴퓨터 내부의 비트 구조
      컴퓨터는 이 숫자들을 0과 1로 저장해야 하므로, 보통 32비트(float)를 다음과 같이 나누어 쓴다.
      • 부호부 (1 bit): 0이면 양수(+), 1이면 음수(-)를 나타낸다.
      • 지수부 (8 bits): 소수점의 위치를 결정한다. 이 값이 커질수록 숫자의 전체적인 크기(범위)가 커진다.
      • 가수부 (23 bits): 숫자의 실제 정밀한 값을 저장한다. 이 비트가 많을수록 더 정확한(정밀도가 높은) 숫자를 표현할 수 있다.
    2. 왜 이렇게 나누어 쓸까?
      이 방식의 가장 큰 장점은 표현 범위이다.
      • 고정 소수점: 정해진 칸 안에 숫자를 다 적어야 해서, 아주 큰 수나 아주 작은 수를 적으려면 칸이 엄청나게 많이 필요하다.
      • 부동 소수점: 지수부만 조절하면 소수점을 확 옮길 수 있어서, 적은 비트로도 엄청나게 큰 수나 미세한 소수점 아래 숫자까지 표현할 수 있게 된다.
  • 원리: 지수의 값에 따라 소수점의 위치가 움직이는 방식을 활용하여, 이로 인해 소수점의 위치가 고정되어 있지 않다.

(2) 구성 요소

  • 가수: 실수의 실제 값을 표현하는 부분
  • 지수: 크기를 표현하며, 가수의 어디쯤에 소수점이 위치하는지를 나타낸다.

(3) 장점 및 단점

  • 장점: 표현할 수 있는 수의 범위가 넓어지며, 현재 대부분의 시스템에서 이 방식이 활용되고 있다.
  • 단점: 부동 소수점으로 표현할 수 있는 방법이 매우 다양하기 때문에 오차가 발생할 수 있다.

0개의 댓글