Java의 Float 및 Double 데이터 유형
Float 및 Double 데이터 유형은 Java에서 실수 또는 부동 소수점 숫자를 저장하는 데 사용되지만 double 데이터 유형은 float보다 정확합니다. double
은 부동 소수점 숫자의 기본 데이터 유형입니다.
부동 소수점 숫자를 정밀하게 저장하려면
float
는 32비트 IEEE 754 부동 소수점이고 double은 64비트 IEEE 754 부동 소수점입니다. Float
는 double에 비해 범위가 더 낮습니다.
아래 주어진 예에서 double
데이터 유형의 d
는 두 개의 double
변수 d1
과 d2
를 나누어 얻습니다. 유사하게, 두 개의 float
변수 f1
과 f2
를 나눌 때 f1
이 나타납니다. double
의 경우 접미사 d
또는 D
를 사용할 필요가 없는 반면 float
유형 데이터의 경우 기본적으로 모든 실수 접미사 f
또는 F
를 사용해야 합니다. 숫자는 Java에서 double
으로 간주됩니다.
출력에서 double
변수 d
의 정밀도와 정확도가 float
변수 f
보다 더 큰 것을 볼 수 있습니다. 우리는 double
이 float
보다 더 큰 데이터 유형이라는 것을 알고 있으므로 이를 다운캐스팅해야 합니다. double
을 float
로 유형 변환하려면 십진수 값 앞의 대괄호 안에 float
키워드를 언급해야 합니다.
출력에서 double
변수를 float
로 변환하면 더 큰 데이터 유형을 더 작은 데이터 유형으로 저장함에 따라 데이터와 정밀도가 손실된다는 것을 알 수 있습니다. 따라서 double
은 배정도 부동 숫자를 저장하는 데 더 많은 메모리를 사용하고 정확한 결과를 제공합니다.
public class Test {
public static void main(String args[]) {
double d1 = 10.0;
double d2 = 3.0;
double d = d1 / d2;
System.out.println("double d : " + d);
float f1 = 10.0f;
float f2 = 3.0f;
float f = f1 / f2;
System.out.println("float f : " + f);
float f3 = (float) d;
System.out.println("float f3 : " + f3);
double d3 = f;
System.out.println("double d3 : " + d3);
}
}
출력:
double d : 3.3333333333333335
float f : 3.3333333
float f3 : 3.3333333
double d3 : 3.3333332538604736
두 데이터 유형의 차이점은 주어진 표 데이터로 설명할 수 있습니다.
데이터 형식 | 정도 | 크기 | Default 데이터 형식 | 기본값 | 접미사 | 래퍼 클래스 | 데이터 손실 | 예어 |
---|---|---|---|---|---|---|---|---|
뜨다 | 단정밀도(6-7 소수점 이하 자릿수) | 32비트 | 아니요 | 0.0f | f 또는 F를 사용합니다. 기본적으로 float 숫자는 명시적으로 이중으로 처리되므로 이 접미사를 추가해야 합니다. | java.lang.Float | float를 double로 변환할 때 데이터 손실 없음 | 키워드 float 는 float 유형에 사용됩니다. |
더블 | 배정밀도(십진수 15-16자리) | 64비트 | 예 | 0.0d | d 또는 D를 사용합니다. 접미사를 사용하려면 선택 사항입니다. | java.lang.Double | double을 float로 변환할 때 데이터 손실 | 키워드 double 은 배정밀도 숫자를 정의하는 데 사용됩니다. |
Float 및 Double은 실수를 나타내는 데 사용됩니다. 두 데이터 유형 모두 정확하지 않습니다. 그들은 대략적인 유형입니다. 정확하고 정확한 결과가 필요할 때 이중으로 가야 합니다. 메모리 및 공간 제약이 있는 경우 float를 고려해야 합니다.
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn