**출발 생각
10진법은 실수를 표현할 때 소수점을 사용한다.
2진법도 필요하지않을까??
라는 생각에서 출발
**고정소수점 표현볍 : Fixed Point
- 주어진 비트 범위 내에서 소수점의 위치를 임의로 정하는 방법
예) 이진법. 십진법.
00.01 1/4
00.11 3/4
- 소수점 기준 왼쪽과 오른쪽으로 나누어서 이진법으로 표현한다고 생각하자.
- 쓸모있는 범위의 실숫값을 표현하기 위해 필요한 비트 개수가 너무 많아, 범용 컴퓨터에서 이런 방식은 잘 안 쓴다고 한다.
**부동소수점 표현법
- 고정 소수점의 문제점을 보완하기 위해, 2진수에 과학적인 표기법을 적용해서 나온 것이 부동 소수점이다.
- 10진 소수점 왼쪽이 한 자리뿐인 소수에 10을 몇 번 거듭제곱한 값을 곱하는 방식으로 소수를 표현한다.
예)
0.0012 >>>1.2 * 10^-3
0.12 >>> 1.2 * 10^-1
2진법의 경우 가수(소수점 왼쪽이 한 자리인 부분)는 2진 소수, 지수 부분은 2의 거듭횟수일 뿐 다르지 않다.
- 비트 조합 중에 낭비되는 부분이 많다.
- 비트 패턴이 가능한 모든 수를 표현하지는 못한다.
**IEEE 부동소수점 수 표준
- 컴퓨터에서 계산 수행 시, 실수를 표현하는 방법은 부동 소수점인데, 관련 기능을 정의한 것이 IEEE 754 표준이다.
- 부동소수점의 단점을 보완하기 위해 여러가지 트릭을 사용하여 컴퓨터에서 연산하는데, 정규화와 디지털 이큅먼트 등이 있다.
- 자주 쓰이는 부동 소수점 수 : 기본 정밀도 부동 소수점 수, 2배 정밀도 부동 소수점 수
1. 기본 정밀도는 32비트 사용, 7비트 정밀도로 대략 10 +- 38제곱 정도의 범위를 표현할 수 있다.
2. 2배 정밀도는 64비트를 사용, 약 10 += 38제곱 범위의 수를 15비트 정밀도로 표현 가능
**이진코드화한 10진수 시스템 (Binary Coded Decimal)
- 4비트를 사용해 10진 숫자를 표현
예)
12를 2진수로 표현시,
기존은 1100인데, BCD로 표현하면 0001 0010이다.
- 비트를 너무 많이 사용한다는 단점이 존재
**참고
https://codetorial.net/articles/floating_point.html
숫자를 부동소수점 방식으로 표현하기 - Codetorial
부호, 지수, 가수 IEEE 754 부동소수점 표현에서 숫자는 아래와 같이 부호부, 지수부, 가수부의 세 부분으로 구성됩니다. 각 부분의 역할과 사용하는 비트 수는 아래와 같습니다. 부호부 (Sign) : 1비
codetorial.net
'백엔드 > os 및 일반 지식' 카테고리의 다른 글
컴퓨터 내부의 언어 체계 - 텍스트 표현 (0) | 2022.02.15 |
---|---|
컴퓨터 자료구조 - 2진수를 다루는 쉬운 방법, 비트 그룹의 이름 (0) | 2022.02.14 |
컴퓨터 내부의 언어 체계 - 정수를 비트로 표현하는 방법 (0) | 2022.02.11 |
컴퓨터 내부의 언어 체계 - 비트, 논리 연산 (0) | 2022.02.11 |
트랜잭션 (0) | 2022.02.03 |