[CS - 컴퓨터 구조] 고정 소수점 & 부동 소수점

SUN·2022년 8월 20일
0

Computer Science

목록 보기
2/11

컴퓨터에서 실수를 표현하는 방법은 고정 소수점과 부동 소수점 두 가지 방식이 있다.

1. 고정 소수점

소수점이 찍힐 위치를 미리 정해놓고 소수를 표현하는 방식 (정수 + 소수)

-3.14 는
부호 : -
정수부: 3
소수부 : 0.14
로 나누어진다.

표현이 단순하다는 장점이 있지만
표현의 범위가 너무 작아서 활용하기 힘들다. ( 정수부는 15, 소수부는 16bit)

2. 부동 소수점

실수를 가수부 + 지수부로 표현한다.
가수 : 실수의 실제값 표현
지수 : 크기를 표현함. 가수의 어디쯤에 소수점이 있는지 나타냄

부호비트

  • 0이면 양수 1이면 음수를 나타낸다.

지수부

  • 원래 수에서 0.1xxxx로 만들었을 때 원래 수로 가기 위해서 소수점이 몇 칸 움직여야 하는 지

참고) 지수부는 바이어스 표현법을 사용한다.
원래 8bit의 표현가능 숫자의 범위는 -127~ 128 이지만
부호부가 존재하지 않기 때문에 0000000 을 -127로, 11111111을 128로 정의하기로 약속했다.

따라서 만약 지수가 5라면 5를 2진수로 변환한 값이 아니라 5+127을 2진수로 변환한 값을 넣어준다.

왜 127을 더해야 되나?

  • 0000000을 -127으로 정했기 때문이다.
  • 그러니까 0을 2진수로 만들면 원래는 0000000이지만 이게 -127이기 때문에 +127을 해줘야 진짜 0이 되는 것이다.

가수

  • 0.1xxxx에서 1xxxx에 해당하는 값

장점 : 표현할 수 있는 수의 범위가 넓어진다. (현재 대부분 시스템에서 활용 중)
단점 : 오차가 발생할 수 있다. (부동소수점으로 표현할 수 있는 방법이 매우 다양함)

참고 자료

profile
개발자

0개의 댓글