logo

플로트 대 더블 자바

자바에서는 자바.

부동 소수점 데이터 유형에는 두 가지 유형이 있습니다.

  • 부동 소수점 데이터 유형
  • 이중 데이터 유형

float 및 double은 모두 소수 값을 저장하는 부동 소수점 숫자를 나타냅니다.

부동 소수점 데이터 유형 가치 크기(비트)* 스토리지 요구 사항(바이트) 기본값 정도 십진수 범위 정확성
뜨다 IEEE 754 부동 소수점 32 4 0.0f 하나의 10진수 6자리 3.4e-038 ~ 3.4e+038 낮은
더블 IEEE 754 부동 소수점 64 8 0.0일 더블 10진수 15자리 1.7e-308에서 1.7e+308로 높은

*크기 비트에는 다음이 포함됩니다.

비트 뜨다 더블
징후 1 1
멱지수 8 열하나
가수 23 52

단정밀도: 그것은 다음과 같이 구성됩니다 하나 부호 비트(S), 여덟 지수 비트(E) 및 이십 삼 가수 비트(M).

np.zeros

배정밀도: 그것은 다음과 같이 구성됩니다 하나 부호 비트(S), 열하나 지수 비트(E) 및 쉰두 가수 비트(M).

플로트 대 더블 자바

부동 소수점 데이터 유형

32비트 단정밀도 IEEE 754(부동 소수점 산술 표준) 부동 소수점 숫자입니다. 이는 십진수 6~7자리의 정밀도를 제공한다는 의미입니다. double 데이터형에 비해 메모리를 적게 차지하므로 메모리를 효율적으로 사용하고 싶을 때 사용됩니다. 부동 소수점 값을 정의하려면 접미사 f 또는 F를 사용해야 합니다. 기본값은 0.0f입니다. 기본적으로 부동 소수점 숫자는 Java에서 double로 처리됩니다.

xor cpp

예를 들어, float 숫자를 다음과 같이 정의한다면:

 float height = 167.7 

위의 float 변수 선언으로 인해 컴파일 오류가 발생합니다. 접미사 f 또는 F를 추가하여 오류를 수정할 수 있습니다.

 float height = 167.7f or float height = 167.7F 

이중 데이터 유형

double 데이터 유형은 64비트 배정밀도 IEEE 754 부동 소수점 숫자입니다. 이는 15-16개의 십진수 정밀도를 제공한다는 의미입니다. float 데이터 유형에 비해 더 많은 메모리를 소비합니다. 10진수 값을 저장하는 데 사용됩니다. 기본값은 0.0d입니다. 접미사 d 또는 D를 추가하는 것은 선택 사항입니다. 예:

 double price = 987.90D or double price = 987.90d or double price = 987.90 

float 대 double 데이터 유형

double 데이터 유형은 float 데이터 유형보다 더 정확합니다. 다음 표에는 float 데이터 유형과 double 데이터 유형의 차이점이 요약되어 있습니다.

기초 부동 소수점 데이터 유형 이중 데이터 유형
메모리 차지하고 있다 4 바이트. 차지하고 있다 8 바이트.
정확성 그 정확성은 낮은 . 그 정확성은 높은 .
정도 다음과 같다 단정밀도 (10진수 6~7자리). 다음과 같다 배정밀도 (십진수 15-16자리).
사용된 키워드 그만큼 뜨다 키워드는 부동 소수점 숫자를 정의하는 데 사용됩니다. 그만큼 더블 키워드는 배정밀도 숫자를 정의하는 데 사용됩니다.
래퍼 클래스 래퍼 클래스는 다음과 같습니다. java.lang.Float. 래퍼 클래스는 다음과 같습니다. java.lang.Double.
기본 데이터 유형 Java에서는 이를 기본 부동 소수점 숫자로 사용하지 않습니다. 그것은 기본 부동 소수점 숫자의 데이터 유형입니다.
데이터 손실 있을 것이다 데이터 손실 없음 float를 double로 변환하면. 있을 것이다 데이터 손실 double을 float로 변환하면.
용도 곳에 사용해야 합니다. 정확도가 낮음 필요하며 저장이 제약됩니다. 어디에 사용되나요? 더 많은 정확성 필요하며 더 많은 정밀도가 필요합니다.
접미사 그것은 사용한다 에프 또는 에프 접미사로. float 변수를 선언하는 경우 접미사를 추가하는 것이 필수입니다. 그것은 사용한다 또는 접미사로. double 변수를 선언하는 경우 접미사를 추가하는 것은 선택 사항입니다.
대표 28시 96분 또는 28.96F 12.5 또는 12.5D 또는 12.5일

float와 double 데이터 유형의 유사점

  • 실수는 두 가지 데이터 유형으로 모두 표현될 수 있습니다.
  • float 및 double 데이터 유형은 모두 정확하지 않으므로 대략적인 값입니다.

Java에서 어떤 부동 소수점 데이터 유형을 사용해야 합니까?

double은 float보다 더 정확합니다. 따라서 더 정확하고 정확한 결과가 필요한 경우 double을 사용하세요. double을 사용하는 또 다른 이유는 숫자가 float가 제공하는 범위에 맞지 않으면 double을 사용하기 때문입니다. float는 double보다 절반의 공간을 차지하므로 메모리 제약이 있는 경우 사용해야 합니다.

메모리 및 공간 제약이 없고 더 많은 정밀도가 필요한 경우 double over float를 사용하는 것이 좋습니다. 메모리가 문제이고 16자리의 정밀한 십진수 결과가 필요하지 않은 경우 부동 소수점을 사용하는 것이 좋습니다.

다음 두 가지 자바 프로그램 float와 double 데이터 유형의 차이점을 명확하게 보여줍니다.

FloatDataTypeExample.java

 public class FloatDataTypeExample { public static void main(String args[]) { float x = 1.0f, y = 3.0f; //defining x and y as float float z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } } 

산출:

 x/y = 0.33333334 

DoubleDataTypeExample.java

 public class DoubleDataTypeExample { public static void main(String args[]) { double x = 1.0, y = 3.0; //defining x and y as double double z = x / y; //divides x by y and stores the result in the variable z System.out.println('x/y = ' + z); //prints the result } } 

산출:

문자열 자바 비교
 x/y = 0.3333333333333333 

위의 두 가지 예를 통해 double 데이터 유형은 배정밀도 숫자를 저장하는 데 더 많은 메모리를 사용하고 최대 16자리의 십진수까지 더 정확한 결과를 제공한다는 것이 분명해졌습니다. float 데이터 유형은 단정밀도 숫자를 저장하는 데 더 적은 공간을 차지하며 최대 소수점 이하 6자리까지 결과를 제공합니다.