2010-01-29 3 views
6

아주 작은 숫자를 계산하는 C# 프로그램을 작성하고 있습니다. 그러나 'double'데이터 유형에 비해 너무 작기 때문에 모든 계산에서 NaN 값을 얻고 있습니다.C# - 매우 작은 숫자 문제 - double 데이터 형식의 숫자가 충분하지 않습니다.

이러한 상황을 처리하기위한 C#의 옵션이 있습니까?

감사합니다. Eden.

+0

"매우 작은"숫자 란 무엇입니까? 네가하는 일의 예를 들어? –

+0

"매우 작은 숫자"를 정의하십시오. 그리고 NaN을 산출하는 계산의 예를 들어주십시오. –

+0

매우 작은 (eps와 같은) 값으로 NaN을 얻는 방법은 무엇입니까? 나는 1.0/x를 생각할 수 있는데, x는 아주 작습니다. 하지만 + 무한대가됩니다. 어느 시점에서 도입 된 NaN이어야합니다. –

답변

2

decimal

편집을 시도 : 또한, .NET 4 아마 부동 소수점 값은 데이터가 당신이 표현하고자하는 범위 \ 어떤 나타내는 데 사용 될 수 BigInteger을 소개 .

+0

큰 "정수"이므로 부동 소수점 값을 저장할 수 있다고 생각하지 않습니다. 하나의 BigInteger를 계수로 사용하고 두 번째를 지수로 사용하여 과학 표기법을 사용해야합니다. –

+1

또는 소수점 이하 500자를 초과하는 고정 소수점 산술을 사용합니다. –

+0

SealedSun은 BigInteger를 제안했을 때 설명하지 못한 것을 설명했습니다. – RedDeckWins