2014-11-18 6 views
1

로그와 exp가 포함 된 간단한 산술 프로그램을 만들었지 만, 큰 숫자 (큰 10^300)를 얻을 수 없습니다.거대한 숫자로 나타남

long double을 사용하면 내 프로그램에서 무한대라고 말하지만 "무한대"보다 가까운 근사값을 얻으려고 시도했습니다. 나는 IEEE 754 괜찮을 것이라고 생각하지만, 나는 당신이 어떤 임의 정밀도 라이브러리 등 https://gmplib.org/

당신을 사용할 수있다 IEEE 754에

+0

코드 예제를 게시하면 좋은 아이디어를 제시하는 것이 더 쉬울 것입니다. – chux

+0

사용중인 형식을 모르는 경우 거의 확실하게 IEEE 754 binary64 (a.k.a., "double precision")입니다. 그 형식에서 가장 큰 표현 가능한 유한 값은 2^1024 - 2^971 또는 대략'1.79 * 10^308'입니다. 따라서 그 가치를 넘어서 오버플로가 발생하면 놀라운 일은 아닙니다. –

답변

2

를 전환하는 바로 지금 사용하거나하는 방법을하고있어 어떤 형식 모른다 컴파일러가 gcc의 __float128과 같은 비표준 크기의 double 형을 지원하는지 알아 내려고 할 수도 있습니다. 그러나 이러한 솔루션은 분명히 이식 가능하지 않습니다.