문제

저는 인구 모델링을 하고 있습니다(재미로 주로 수용 능력과 물류 기능의 개념을 가지고 놀기 위해).이 모델은 여러 행성(현재 약 100,000개)에서 작동합니다.한 행성의 인구가 수용 능력에 도달하면 주민들은 인근 행성으로 분기하기 시작합니다.

문제:100,000개 이상의 행성에 많은 사람들이 거주할 수 있습니다.C# 이상 Decimal 다룰수있다.이 숫자를 사용하여 평균 및 기타 작업을 수행하고 있으므로 부동 소수점을 사용하는 기능이 필요합니다(또는 BigInt 라이브러리를 사용합니다).

내가 사용할 수 있는 BigFloatingPoint 클래스(또는 무엇이든)를 아는 사람이 있나요?오늘날 Google은 매우 도움이 되지 않습니다.충분히 잘 작동하는 클래스를 작성할 수도 있겠지만, 그러한 것이 존재한다면 기존에 존재하는 것을 사용하는 편이 낫습니다.

도움이 되었습니까?

해결책

더 많은 헤드 룸을 달성하기 위해 거대 사람들의 단위를 사용하십시오.

또한 Decimal은 지구 인구의 10000000000000 배를 가진 각각 100,000 개의 행성을 가질 수 있습니다. 내 산술 옳다. 충분하지 않습니까?

다른 팁

각 행성에 1000억 명의 인구가 있다고 해도 전체 인구는 여전히 1E16에 불과합니다.이는 부호 있는 64비트 정수(2^63은 9,223,372,036,854,775,807로 가며 이는 거의 1E19...)의 한계 내에 있습니다.

한계에 가까워지기 전에 행성 당 백만억 명의 사람들과 함께 갈 수 있습니다.

분수와 평균 등의 계산을 할 때 Float나 Double로 변환할 수 없나요?

정말 28 자리 정밀도가 필요합니까? 일부 계산에 부동 소수점을 사용할 수 있습니까?

(정확한 두 배 : ± 5.0E -324 ~ ± 1.7E308)

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