在不久的将来,我一直在寻找一些可能的编程乐趣的十进制类型,并且想要使用比Int64更大的整数。一个关键点是我需要找出可以安全存储到十进制中的最大整数(不会丢失精度);我这样说,因为显然它在那里使用了一些浮点,作为程序员,我们都知道只有浮点才能给我们的爱。
那么,有谁知道我可以推进的最大的int?
另外,有没有人有任何使用longs / int数组的经验?这是为了这个项目之后的项目。
谢谢, -R
答案 0 :(得分:7)
decimal
与float
和double
的工作方式不同 - 始终有足够的信息存储到整数精度,因为最大指数为28且它有28-29位数的精度。您可能对我在.NET上的decimal floating point和binary floating point上的文章感兴趣,以便更仔细地查看差异。
因此,您可以存储[decimal.MinValue, decimal.MaxValue]
范围内的任何整数,而不会丢失任何精度。
如果你想要更广泛的范围,你应该使用BigInteger
作为Fredrik提到的(假设你使用的是.NET 4,当然......我相信有第三方版本可用于早期版本的.NET)。
答案 1 :(得分:3)