C#:十进制 - >可以精确存储的最大整数

时间:2011-11-16 07:26:36

标签: c# .net

在不久的将来,我一直在寻找一些可能的编程乐趣的十进制类型,并且想要使用比Int64更大的整数。一个关键点是我需要找出可以安全存储到十进制中的最大整数(不会丢失精度);我这样说,因为显然它在那里使用了一些浮点,作为程序员,我们都知道只有浮点才能给我们的爱。

那么,有谁知道我可以推进的最大的int?

另外,有没有人有任何使用longs / int数组的经验?这是为了这个项目之后的项目。

谢谢, -R

2 个答案:

答案 0 :(得分:7)

decimalfloatdouble的工作方式不同 - 始终有足够的信息存储到整数精度,因为最大指数为28且它有28-29位数的精度。您可能对我在.NET上的decimal floating pointbinary floating point上的文章感兴趣,以便更仔细地查看差异。

因此,您可以存储[decimal.MinValue, decimal.MaxValue]范围内的任何整数,而不会丢失任何精度。

如果你想要更广泛的范围,你应该使用BigInteger作为Fredrik提到的(假设你使用的是.NET 4,当然......我相信有第三方版本可用于早期版本的.NET)。

答案 1 :(得分:3)

如果您想处理大整数,可能需要查看BigInteger类型。

来自文档:

  

表示任意大的有符号整数