我看着这个与大整数计算器问题 ,具体我不明白这条线(以斜体字):
在BigInteger类, 我没有任何限制 ,并有一些有用的功能有,但它是相当令人沮丧的转换您的美丽代码BigInteger类的工作,特别是当原始运营商并不在那里工作,你必须使用功能,从这个类。
我不知道我失踪,但代表的东西,有没有限制,你将需要无限怀念? 什么是把戏吗?
我看着这个与大整数计算器问题 ,具体我不明白这条线(以斜体字):
在BigInteger类, 我没有任何限制 ,并有一些有用的功能有,但它是相当令人沮丧的转换您的美丽代码BigInteger类的工作,特别是当原始运营商并不在那里工作,你必须使用功能,从这个类。
我不知道我失踪,但代表的东西,有没有限制,你将需要无限怀念? 什么是把戏吗?
没有理论极限。 该BigInteger
,因为它需要为它被要求保存数据的所有位级分配尽可能多的内存。
有,但是,一些实际的限制,受可用内存决定。 而且有进一步的技术限制,虽然你不太可能会受到影响:一些方法假定位是通过寻址int
指标,这样的事情将开始打破,当你去上面Integer.MAX_VALUE
位。
格雷厄姆给予了极大的回答这个问题。 我只想补充一点,你必须要小心使用valueOf
,因为它使用的方法创建long
参数,从而最大值为Long.MAX_VALUE
。
是其使用的时候,我们需要以任意精度非常大的数字。 要注意,“任意”的精度或位数并不意味着“无限制”这是很重要的:这意味着在一个数字或的精度在计算中位数号码位数是由内存的限制和/或限定的限制,以高精度我们指定。
看看BigInteger类的源代码,你会看到(它可以与NetBean完成)。 一个数字将被表示为一个int阵列。 例如,10113将是[1,0,1,1,3](这是不完全BigInteger类做什么,只是一个例子有多大数模块工作)。 因此,从技术上说,它唯一的限制将是你的记忆。