실수형
java 언어에서는 실수형을 표현할 때 사용하는 기본 자료형으로 float과 double을 제공합니다.
float 형식의 값을 표현할 때는 실수 뒤에 f를 추가하여 표시합니다.
예를 들어 0.2라고 표현하면 double 형식의
표현이고 0.2f라고 표현하면 float 형식의 표현입니다.
실수는 0에서 1 사이에도 무한 개의 실수가 존재하여
오차 범위를 갖는 실수를 표현합니다.
예를 들어 float 형식 변수 f에 0.6f로 초기화하고 f에
f+0.1f를 대입하는 것을 반복하면 어떻게 값이 변할까요?
계속 더하다보면 오차가 쌓여 기대하지 않았던 값으로 변하는 것을 알 수 있습니다.
따라서 프로그램에서 실수 데이터를 취급할 때는 오차가 발생할 수 있다는 것을 고려하여야 합니다.
private static void exFloat() {
System.out.println("float 형식");
float f = 0.6f;
f = f + 0.1f;
System.out.println(f);
f = f + 0.1f;
System.out.println(f);
}
실행 결과
float 형식
0.70000005
0.8000001
참고로 float은 첫 번째 비트는 부호 비트, 이후 8개의 비트는 지수부, 나머지 23개 비트는 가수부입니다.
double은 첫 번째 비트는 부호 비트, 이후 11개의 비트는 지수부, 나머지
52개 비트는 가수부입니다.
[그림] 메모리에 float 형식 데이터 표현
'프로그래밍 기술 > 안드로이드' 카테고리의 다른 글
[안드로이드] 19. Java - 비트 연산 (0) | 2016.04.16 |
---|---|
[안드로이드] 18. Java - 논리 연산 (0) | 2016.04.16 |
[안드로이드] 17. Java - 비교 연산 (0) | 2016.04.16 |
[안드로이드] 16. Java - 산술 연산 (0) | 2016.04.16 |
[안드로이드] 15. Java - 연산 개요 (0) | 2016.04.16 |
[안드로이드] 13. Java - 정수형 (0) | 2016.04.16 |
[안드로이드] 12. Java - 문자형 (char) (0) | 2016.04.16 |
[안드로이드] 11. Java - 논리형 (boolean) (0) | 2016.04.16 |
[안드로이드] 10. Java - 기본 자료형 (0) | 2016.04.16 |
[안드로이드] 9. Java - 자료형과 연산 개요 (0) | 2016.04.16 |