gpt4 book ai didi

c# - 如何存储 BIG int 值

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:01 25 4
gpt4 key购买 nike

如果您必须保存大于 ulong 类型可以保存的数字(0 到 18,446,744,073,709,551,615),您会使用什么?例如测量行星或星系之间的距离?

最佳答案

对于最多只需要 28 位数字的值,您可以使用 System.Decimal .按照它的设计方式,您不会遇到使用 double 时遇到的缩放问题,其中对于大数字,两个相邻数字之间的差距大于 1。诚然,这看起来有点奇怪,因为 decimal 通常 用于非整数值 - 但在某些情况下,我认为这是一种完全合理的用法,只要您正确记录它即可。

对于大于该值的值,您可以使用 System.Numerics.BigInteger .

另一种选择是只使用 double 并接受你确实得到精确到整数的事实。当涉及到星系之间的距离时,您真的会得到一个 精确 到一米的值吗?这确实取决于您将如何使用它 - 如果您使用可很好预测的整数类型,它当然可以使 测试 更简单,但您应该真正考虑值的去向和你打算用它们做什么。

关于c# - 如何存储 BIG int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25054879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com