我正在阅读一个文本文件,其中包含[1,10 ^ 100]范围内的数字.然后,我对每个数字执行一系列算术运算.我想只在数字超出int/long范围时才使用BigInteger.一种方法是计算字符串中有多少位数,如果有太多则切换到BigInteger.否则我只是使用原始算法,因为它更快.有没有更好的办法?
有没有什么理由为什么Java不能自动执行此操作,如果int太小,切换到BigInteger?这样我们就不用担心溢出了.
我怀疑使用原始值进行整数和实数的决定(出于性能原因而做)使得该选项无法实现.请注意,Python和Ruby都可以满足您的要求.
在这种情况下,处理较小的特殊情况可能需要做更多的工作(你需要一些自定义类来处理这两种情况),你应该使用它BigInteger.
| 归档时间: |
|
| 查看次数: |
4887 次 |
| 最近记录: |