본문 바로가기

공부/TIL-D

실수, 부동소수점, 배정도

부동 소수점 이란? 

컴퓨터가 실수를 표현하는 방법

(.이 부표처럼 앞뒤로 이동한다고 해서 부동이라는 이름이 붙었습니다. 반대는 고정소수점입니다. )

 

또한, 부동소수점에는 단정도 부동소수점, 배정도 부동소수점 두가지로 나뉩니다.

단정도는 실수를 32bit(4byte) , 부호1bit 지수부8bit 가수부23bit
배정도는 실수를 64bit(8byte) , 부호1bit,지수부11bit,가수부52bit

 

파이썬 ,자바 스크립트는 배정도 사용

 

정규화란 소수점 왼쪽에 위치한 가수부분을 밑수보다 작은 자연수가 되도록 만들기


10진수 567.89 = 5.6789x10^2


2진수의 밑수는 2이므로, 111.11 = 1.111x2^2

 

1.1111x2^2 , 부호 0 지수부 1001 가수부 1111 근데 가수부는 3비트만 할당 뒷자리 1생략


실수 7.75는, 1바이트 부동소수점으로 나타내면 0x4f 실제값과 0.25만큼 차이나므로 정밀도 내려감

 

실수자료형에서 앱실론이란, 1.0 그다음으로 표현 가능한 수

 

배정도 실수 9.25를 부동소수점 방식으로 표현하면, 1.00101x2^3


지수부분만 떼어서 앱실론을 곱하면, 이실수와 다음표현 가능한 수 사이의 차이 구할 수 있음


2^3+ep 이랑 9.25랑 더하면 9.250000000000002

 

2^3ep /2를 한수를 9.25에 더해도 같은값이나옴 why? 다음표현할 수 보다 작기때문에 표현불가, 이를 정밀도가 떨어진다고 표현

 

부동소수점은 지수부에 따라 아주 작은 수와 아주 큰 수를 표현할 수 있지만, 어떤 상황에서는 16과 17같이 큰단위 정수조차 제대로 표현할 수 없을때도 있다. = "표현 범위는 넓지만 정밀도는 낮다"

반응형

'공부 > TIL-D' 카테고리의 다른 글

오늘의 배운것 자세한 내용  (0) 2019.04.15
HTML/CSS 심화 2회차  (0) 2019.04.14
오늘 배운 것 자세히  (0) 2019.04.12
2019-04-11  (0) 2019.04.11
2019-04-10  (0) 2019.04.10