Just do IT
article thumbnail
Published 2021. 7. 16. 11:10
Java Type (실수의 표현) Programing/JAVA

실수의 표현

▶ 실수의 표현 방식

- 컴퓨터에서는 실수를 정수와 마찬가지로 2진수로만 표현해야 하기 때문에 실수를 표현하는 방법은 정수에 비해 훨씬 복잡합니다.

- 실수를 표현하기 위한 방식은 고정 소수점(fixed point) 방식, 부동 소수점(floating point) 방식으로 사용되고 있습니다.


고정 소수점(fixed point) 방식

- 실수는 정수부와 소수부로 나눌 수 있습니다.

- 실수를 표현하는 가장 간단한 방식은 소수부의 자릿수를 미리 정하여 고정된 자릿수의 소수를 표현한 것입니다.

- 32비트 실수를 고정 소수점 방식으로 표현하면 다음과 같습니다.

- 고정 소수점 방식의 단점은 정수부와 소수부의 자릿수가 크지 않으므로 표현할 수 있는 범위가 매우 적습니다.


부동 소수점(floating point) 방식

- 실수는 보통 정수부와 소수부로 나누지만, 가수부와 주수부로 나누어 표현할 수도 있습니다.

- 부동 소수점 방식은 이렇게 하나의 실수를 가수부와 지수부로 나누어 표현하는 방식입니다.

- 부동 소수점 방식은 아래와 같은 수식을 이용하여 매우 큰 실수까지도 표현할 수 있습니다.

※ ±(1.가수부)x2^(지수부-127)

- 현재 대부분의 시스템에서는 부동 소수점 방식으로 실수를 표현하고 있습니다.


▶ IEEE 부동 소수점 방식

- 현재 사용되고 있는 부동 소수점 방식은 대부분 IEEE 754 표준을 따르고 있습니다.

- 32비트의 float형 실수를 IEEE 부동 소수점 방식 표현

- 64비트의 double형 실수를 IEEE 부동 소수점 방식 표현


부동 소수점 방식의 오차

- 부동 소수점 방식을 사용하면 고정 소수점 방식보다 훨씬 더 많은 범위까지 표현할 수 있지만, 부동 소수점에 의한 실수의 표현은 항상 오차가 존재합니다.

- 부동 소수점의 방식에서의 오차는 앞서 살펴본 공식에 의해 발생합니다.

- 이 공식을 사용하면 표현할 수 있는 범위는 늘어나지만, 10진수를 표현할수 없게 되기 때문에 컴퓨터에서 실수를 표현하는 방법은 정확한 표현이 아닌 언제나 근사치를 표현뿐임을 항상 명심해야 합니다.

 

출처 : http://tcpschool.com/java/java_datatype_floatingPointNumber

 

Java Type (타입 변환)

 

'Programing > JAVA' 카테고리의 다른 글

JAVA Exercise (1)  (0) 2021.07.16
Java Type (타입 변환)  (0) 2021.07.16
Java Type (기본 타입)  (0) 2021.07.15
Java Type (상수)  (0) 2021.07.15
Java Type (변수)  (0) 2021.07.15
profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!