如何储存1000000000大小的int型数据?比如说我要找出100000000000内所有质数!找出的质数应该存储在什么地方?数组肯定不行,动态申请也办不到似乎怎么了办?
如果要表示100000000000以内的数,用int肯定不行,起码是long。甚至long long。那么一个数字可能需要8个字节或更多。
1000000000个数x8个字节,需要8GB以上的内存,你的编译器和操作系统都必须是x64的,而你的计算机必须有>8GB的内存。
所以将这些数字放在内存中是不经济的,你可以考虑使用文件存储。
整形表示不了这么大的数据,可以考虑使用字符串来表示,并进行和实现大数据的四则运算。
可以试试外排序,然后一段一段的读进来查找,也可以用字符串的大数据
现在的PC都支持int64,一些指令还支持int128,超过了就只能是大数运算库了。
Java和C#都有原生的大数运算库,C/C++没有原生的有第三方的,要不就自己写一个。
100000000000这个数其实并不大,不明白为什么会放不下。RSA256的Key肯定比这个要大,也没说要放到文件中处理。