문제

누구든지 정밀도를 찾는 방법을 알고 있습니까? long double 특정 플랫폼에서? 나는 17 자리 자릿수 후에 정밀도를 잃는 것처럼 보인다. double. 나는 그 이후로 더 많은 것을 기대할 것입니다 double 내 플랫폼에서 8 바이트로 표시되며 long double 12 바이트입니다.

당신이 묻기 전에, 이것은 프로젝트 Euler를위한 것입니다. 하다 17 자리 이상이 필요합니다. :)

편집하다: 빠른 답변에 감사드립니다. 방금 사용하여 18 자리 숫자 만 얻을 수 있음을 확인했습니다. long double 내 시스템에서.

도움이 되었습니까?

해결책

당신은 함께 찾을 수 있습니다 std::numeric_limits:

#include <iostream>     // std::cout
#include <limits>       // std::numeric_limits
int main(){
    std::cout << std::numeric_limits<long double>::digits10 << std::endl;
}

다른 팁

당신이 사용할 수있는 u003Ccfloat>. 구체적으로:

LDBL_DIG
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top