gpt4 book ai didi

java - java.util.BitSet 可以容纳超过 MAX_INT 否。位?

转载 作者:行者123 更新时间:2023-11-30 08:28:03 24 4
gpt4 key购买 nike

由于 BitSet.get() 函数使用 int 作为参数,我在想我是否可以在 中存储超过 2^32 位BitSet,如果是,我将如何检索它们?

我正在做一个 Project Euler 问题,我需要生成 10^10 之前的素数。我目前用于生成素数的算法是 Erathonesus 的 Sieve,它将 boolean 值作为位存储在 BitSet 中。有什么解决方法吗?

最佳答案

您可以使用位集列表作为 List<BitSet>当到达一个位集的末尾时,您可以移动到下一个。

但是,我认为您的方法可能不正确。即使您为每个数字使用一位,您也需要 10^10关于 1 GB 的位内存(一个字节中的 8 位和 GB 中的 1024^3 个字节)。大多数 Project Euler 问题应该可以在不需要那么多内存的情况下解决。

关于java - java.util.BitSet 可以容纳超过 MAX_INT 否。位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20475794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com