본문 바로가기
프로그래밍/이산 수학

실수 - 고정 소수점, 부동 소수점

by 3.14pie 2023. 1. 2.

실수 - 유리수와 무리수로 이뤄진 수의 체계

유리수 - 분수로 나타낼 수 있는 소수

무리수 - 분수로 나타낼 수 없는 소수

 

고정소수점 수 - N자리 숫자가 있을 때 언제나 정해진 자리에 소수점이 찍힌다는 뜻이다. 최상위 비트는 부호를 나타낼 때 사용한다. 음수의 경우는 2의 보수로 표현한다. 표현할 수 있는 범위의 값은 확실하게 표현이 가능하다. 하지만 표현 가능한 수의 범위가 작다. 정수를 늘리기엔 소수를 정밀하게 표현이 어렵다. 현재 CPU에서는 고정 소수점 수를 지원하지 않는다. 연산을 한 결과에 따라 정밀도 손실 및 오버플로우가 발생할 수 있다. (연산 결과가 Q4.3을 넘어가면 표현할 수 없음)

 

8비트의 경우, 1번째 비트는 부호, 7비트는 실제 수를 표현하는 비트이다. 상위 4비트를 정수, 하위 3비트를 소수로 표현한다면, Q4.3으로 표기한다. 00101101 = 101.101 = 5.625

 

부동소수점 수 - 소수점이 어디든지 찍힐 수 있다. 실제 수는 같지만 소수점을 옮기는 것만으로 표현 가능한 범위가 늘어난다. 고정소수점의 수의 범위 단점을 해결할 수 있다. 정밀도가 떨어져 돈 관련한 프로그램에서는 사용하기 힘들다.

 

과학적 표기법 - 과학, 수학, 공학에서 수를 표기하는 기법으로 너무 크거나 작은 수를 읽기 편하게 작성하는 방식이다.

93234000000 = 93234 X 10^6, 0.0000000023 = 23 X 10^-9

여기서 92324, 23은 가수, 6, -9는 지수이다.

 

가수 - 실수로 이뤄져 있고, 부동소수점의 유효 숫자를 나타낸다.

지수 - 정수로 이뤄져 있고, 소수점의 위치를 나타낸다.

유효 숫자 - 수의 정확도와 정밀도에 영향을 주는 숫자이다. 0이 아닌 모든 숫자, 0이 아닌 두 수 사이에 있는 0이 유효 숫자이다. 하지만 소수점 아래의 유효 숫자 왼쪽의 0은 유효 숫자가 아니다.

 

정확도 - 실제 참 값에 얼마나 근접했는지

정밀도 - 값들이 얼마나 가까운지

 

정규화한 과학적 표기법 - 가수의 제일 왼쪽 유효 숫자를 정수부의 첫번째 자리로 이동시켜 표현하는 방법이다.

m X 10^n (93234000000 = 93234 X 10^6 = 9.3234 X 10^10) 2진법의 가수는 항상 1이 된다.

 

컴퓨터는 정규화된 과학적 표기법의 가수와 지수를 사용해 부동 소수점을 표현한다. (m X 2^n)

'프로그래밍 > 이산 수학' 카테고리의 다른 글

집합  (0) 2023.01.05
부동 소수점 - 32 비트(IEEE 754)  (0) 2023.01.03
문자 - ASCII, EUC, Unicode, UTF-8  (0) 2022.12.30
보수 - 10, 9, 2, 1의 보수  (0) 2022.12.29
데이터 표현 방식 - 정수  (0) 2022.12.26