我正在考虑使用BigInteger类来存储10-1000 MB范围内的数字.有任何人对此有经验吗?极大数字是否有实际或隐含的限制?
Run*_*tad 10
好吧,BigInteger的文档说只要你有足够的内存来处理它,数字就可以是任何大小.
BigInteger上的常规操作(加,减,乘等)比常规数字类型慢得多(根据某些测试至少50倍),但您可能会接受它.
此外,您必须记住BigInteger类型是不可变的,因此对它的操作将产生一个新实例.因此,添加两个10MB的数字将创建一个新的10MB数字.它不会修改现有实例.这可能会影响您构建代码的方式.
唯一的实际限制是计算机上可用的内存量以及程序可用的内存量.对于32位进程,这应该至少为3GB,对于64位进程应该更多,因此您应该能够使用所需的数字.
| 归档时间: |
|
| 查看次数: |
2363 次 |
| 最近记录: |