【发布时间】:2018-06-29 00:32:08
【问题描述】:
我需要使用 java 以非常节省内存的方式将大量数字写入文件。
数字的范围是 0 到 2,132,487,因此短数据类型(16 位)是不够的,而整数(32 位)会浪费空间。
最有效的方法是为每个数字使用 22 位 (2²²= 4,194,394)
我该如何实现?
【问题讨论】:
-
请列出您已经尝试过的内容。
-
机会是使用简单的东西(32 位)和压缩结果流“足够好”以满足您的需要。
-
“非常大量”和“非常节省内存”是非常广泛的。 10 个数字、10000000 个数字还是 10000000000000 个数字?
-
~90,000,000 个数字。我不想使用任何不编码任何信息的位,但我不需要压缩,因为这可能会变得太复杂
-
如果你想做这种低级的东西,你可能会更容易使用 C 或 C++。