본문 바로가기
프로그래밍 언어

실수 자료형

by do_ng 2022. 3. 20.

실수 데이터가 컴퓨터에서 표현되는 방식

컴퓨터는 실수를 정확하게 표현하지 못하기 때문에 근삿값(가까운값)으로 표현을 한다.

ex) 3.141592.... -> 3.14

컴퓨터에서 실수를 표기하는 부동소수점 방식

float a = 21.8125; 

1.소수점위와 소수점아래로 나눠서 각각 이진수로 변환 
21(16 + 4 + 1) -> 10101 
0.8125 -> 1101

2.정규화
10101.1101 -> 0.101011101 * 2의5승 
ex) 100은 0.1 * 10의 3승과 똑같은 이치 

[부호비트(1Bit)] [지수부(8Bit)] [가수부(23Bit)] 

float(4Byte)와 double(8Byte) 차이

둘 다 실수형 데이터를 표현하는 데이터 타입이지만, double을 사용할 경우 훨씬 더 낮은 소수점 아래의 숫자까지 표현이 가능하다.
double이 정밀도가 높기 때문에 최대한 가장 가까운 값을 표현할 수 있다.

정수와 실수의 연산시 어떤 문제점이 있을까?

정수와 실수의 표현방식은 다르기 때문에 컴퓨터는 데이터 타입에 맞춰 하나의 표현방식으로 통일해 연산을 하게 된다.

int a = 4 + 4.0; 

실수인 4.0이 정수로 형변환이 되고 정수표현방식으로 연산을 하게 된다.
의도하지 않은 상황이라면 불필요한 형변환은 컴퓨터의 작업량이 늘어나기 때문에 주의해서 사용하는 것이 좋다.

'프로그래밍 언어' 카테고리의 다른 글

증감 연산자  (0) 2022.03.21
산술 연산자  (0) 2022.03.20
자료형  (0) 2022.03.19
싱글스레드와 멀티스레드의 장단점  (0) 2022.03.03
자바에서 지역변수가 초기화 되지 않는 이유?  (0) 2022.03.02