실수 자료형

<aside> 💡

자바의 실수를 표현하기 위한 자료형은 대표적으로 float와 double이 있다. 실수형 상수는 기본적으로 8byte이므로 double이 기본형이다.

</aside>

자료형 크기 표현 범위 특징 정밀도
float 4byte ±3.4×10^-38 ~ ±3.4×10^38 숫자 뒤에 f나 F를 붙임 int와 메모리 사이즈가 같다. 7 자리
double 8byte ±1.7×10^-308 ~ ±1.7×10^308 실수 자료형의 기본 자료형 15 자리

부동 소수점 방식

실수 값 0.1은 10x10^-1 표현 가능하다. 이처럼 가수 부분(1.0)과 지수 부분(-1)을 나누어서 실수를 나타내는 방식을 ‘부동 소수점 방식’ 이라고 한다.


float형과 double형

  1. float : 부호 1비트, 지수부 8비트, 가수부 23비트로 총 32비트(4바이트)를 사용한다.
  2. doule : 부호 1비트, 지수부 11비트, 가수부 52비트로 총 64비트(8바이트)를 사용한다.
    1. 자바에서 실수는 double형을 기본으로 사용한다.
    2. float에 비해 더 정밀하게 실수를 표현 할 수 있기 때문이다.

double test

package type;

public class DoubleTest {

	public static void main(String[] args) {

		double result = 0;
		
		for(int i=0; i<1000; i++) {
			result = result + 0.1f;
		}
		System.out.printf("%.6f", result);
	}
}

float test

package type;

public class FloatTest02 {

	public static void main(String[] args) {
		// 왜 실수형은 기본이 double?
		float result = 0; // 0.0f
		//메모리공간 = 변수값
		
		// 반복문
		for(int i=0; i<100; i++) {
			result = result + 0.1f;
		}
		System.out.printf("%.6f", result);
	}

}