예를 들어이중 정수와 매우 긴 정수의 정밀도 차이는 무엇입니까?
36103009879073133562313702394913733
36103009879073133562313702394913733.0
을 가지고
C++에서 이중으로 매우 긴 정수를 나타내는 경우 정밀도의 차이점은 무엇입니까
?예를 들어이중 정수와 매우 긴 정수의 정밀도 차이는 무엇입니까?
36103009879073133562313702394913733
36103009879073133562313702394913733.0
을 가지고
C++에서 이중으로 매우 긴 정수를 나타내는 경우 정밀도의 차이점은 무엇입니까
?첫째, C++에는 very long
유형이 없습니다. 나는 당신이 64 비트 정수형에 대해 이야기하고 있고 double
이 64 비트 IEE 754 부동 소수점 표현에 해당한다고 가정합니다.
64 비트 정수는 (최대 64 비트까지) 정밀도를가집니다. 즉 대략 십진수 19 자 (부호없는 정수 유형으로 가정)입니다. 반대로 64 비트 IEE 부동 소수점에는 52 비트의 정밀도가 있습니다. 즉 약 15 진수입니다.
당신이주는 예제는 35 진수입니다. 즉, 에있는의 64 비트 정수로 표현할 수 없습니다. 해당 숫자의 double
표현은 대략 20 자릿수의 정밀도를 잃게됩니다.
참조 : 앞으로
감사합니다! 여기에 매우 긴 정수 매개 변수가있는 비선형 시스템을 처리하려고합니다 : http://stackoverflow.com/questions/20255722/precision-loss-when-solving-nonlinear-equations-with-long-integer-parameters-by 그런 모든 정수들을 주요 요인들로 분해하는 것이 좋을까요? – LCFactorization
그것이 도움이 될지 모르겠다. –
가, 관련 프로그래밍 언어 질문에 태그를하시기 바랍니다. –
감사합니다. 낮은 평판 때문에 직접 태그를 만들 수 없습니다. – LCFactorization
태그를 만들 필요가 없으며 올바른 태그를 사용해야합니다. –