비교 차트 :
비교의 근거 | 흙손 | 더블 |
---|---|---|
정도 | 단 정밀도. | 이중 정밀도. |
비트 | 32 비트. | 64 비트. |
바이트 | 4 바이트 . | 8 바이트. |
대략적인 범위 | 1.4e-045 ~ 3.4e + 038 | 4.9e-324에서 1.8e + 308 |
비트 표현 | 1 비트는 부호 비트를 나타냅니다. 8 비트는 지수를 나타냅니다. 23 비트는 가수를 나타냅니다. | 1 비트는 부호 비트를 나타냅니다. 11 비트는 지수를 나타냅니다. 52 비트는 가수를 나타냅니다. |
정확성 | 덜 정확합니다. | 더 정확한. |
플로트의 정의
float 데이터 유형은 부동 소수점 유형 중 하나입니다. 데이터 유형 float는 float 유형의 변수에 대해 32 비트 저장 공간 (4 바이트와 동일 함)을 갖습니다. float 데이터 형식은 단 정밀도를 지정합니다. float 32 비트 표현은 1 비트가 부호 비트로 표현되고 8 비트가 지수로 표시되며 23 비트는 가수로 표현되므로 설명 할 수 있습니다. float 유형의 최대 범위는 1.4e-045 ~ 3.4e + 038입니다. 이중 부동 소수점 형 부동 소수점 형과 비교할 때 수학 계산 중에 덜 정확합니다. 예제를 사용하여 float을 이해해 보겠습니다.
#include #include int main () {float num1 = sqrt (64.23) cout << num1; } // 출력 8.00060
위의 코드에서와 같이 float 변수 num1에는 sqrt () 함수에 의해 지정된 값이 할당되며이 함수에 전달 된 값의 제곱근을 반환합니다. num1의 값이 인쇄 될 때 정확한 값에 가깝지만 정확하지 않음을 알 수 있습니다. 이제 double을 데이터 유형으로 사용하여 동일한 프로그램을 실행할 때 아래 예제를 보겠습니다.
더블의 정의
Double은 두 번째 종류의 부동 소수점 데이터 유형입니다. 데이터 유형 double은 double 유형의 변수에 대해 64 비트 저장 공간 (8 바이트와 동일 함)을 갖습니다. 크기가 float의 두 배인 double precision을 지정합니다. double 유형의 64 비트 표현은 1 비트가 부호 비트를 나타내며 11 비트가 지수를 나타내며 나머지 52 비트가 가수를 나타냄에 따라 설명 할 수 있습니다. float 및 double 중에서 가장 일반적으로 사용되는 데이터 유형은 double입니다. double 유형은 수학적 계산 중에 사용되며 완벽한 정확성이 필요할 때 사용됩니다. 수학 함수 sin (), cos () 및 sqrt ()는 항상 double 값을 반환합니다. 예제를 통해 double 데이터 유형의 정확성을 이해합시다.
#include #include int main () {double num1 = sqrt (64.23) cout << num1; } // 출력 8.0143621
float를 설명하는 예제에서 얻은 결과는 double에서 설명한 예제에서 얻은 결과와 다르다는 것을 알 수 있습니다. 따라서 double에서 얻은 결과는 float에 비해 더 정확하다고 말할 수 있습니다.
플로트와 더블의 주요 차이점
- 데이터 유형 float는 단 정밀도를 지정합니다. 즉, double과 비교할 때 정확도가 떨어지는 반면 double은 double의 정밀도를 지정하므로 float에 비해 오류는 무시할 수 있습니다.
- float 유형의 변수는 32 비트의 저장 영역을 가지지 만 double 유형의 변수는 64 비트의 저장 영역을 가지지 만 float에 비해 저장시 두 배가 더 큽니다.
- float 값의 범위는 1.4e-045에서 3.4e + 038까지이며, double 유형의 값은 4.9e-324에서 1.8e + 308까지입니다.
- float 값의 비트 표현은 float의 1 비트가 sing bit, 지수의 8 비트 및 mantissa 저장을위한 23 비트와 유사합니다. 반면에 double 값은 1 bit가 sing bit, 11 bit가 지수, 52 bit가 가수 저장에 사용되는 것과 유사합니다.
- double float과 비교하면 덜 정확하므로 수학 계산 double이 사용됩니다.
결론:
글쎄, 당신은 일반적으로 시간을 우리의 주요 moto 인 정확성을 제공하기 때문에 double을 사용해야합니다.