Java에서 부동 소수점 유형의 이진 정밀도 이해
float 및 double과 같은 부동 소수점 데이터 유형의 이진 정밀도 , 표현할 수 있는 유효 자릿수를 결정합니다. 정확하게.
float:
float 데이터 유형은 다음과 같이 할당된 32개의 이진수(비트)로 구성됩니다.
따라서 부동소수의 정밀도는 십진수 약 7자리입니다.
double :
Double 데이터 유형은 64개의 이진수(비트)를 다음과 같이 배포합니다. 다음:
소수점 등가물 및 정밀도
가수와 지수는 이진수로 저장되는 반면, 부동소수점 유형으로 표현되는 실제 숫자는 십진수로 표현됩니다. 그러나 이진수에서 십진수로의 변환이 항상 정확하지는 않습니다. 결과적으로 일부 소수는 부동 소수점 또는 복식을 사용하여 정확하게 저장할 수 없습니다.
예외 및 고려 사항:
0.5, 0.25, 0.75 및 0.125와 같은 특정 값, 정확하게 이진수로 저장될 수 있으므로 정확한 십진수와 동일합니다. 그러나 0.1과 같은 값은 가수의 정밀도 제한으로 인해 정확하게 표현할 수 없습니다.
금전적 값을 다루는 경우와 같이 정확한 소수 표현이 필수적인 경우에는 int와 같은 데이터 유형을 사용하는 것이 좋습니다. , long, BigInteger 또는 BigDecimal을 float 또는 double 대신 사용하세요.
위 내용은 Java의 'float' 및 'double' 데이터 유형은 몇 자릿수 정밀도를 제공합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!