私のプログラムでは、2.5*10^9 のセットで既に値を生成しているかどうかを確認する必要があります。セットの約半分を生成することを期待しており、それを確認して更新するための高速な方法が必要です。ビットセットは、あまり多くのメモリを必要とせず (値ごとに 1 ビット)、高速であるため、私には良いアイデアのように思えました。
問題は、自分のクラスで自分のセットを定義するsegmentation faultと、サイズが大きすぎる (小さいサイズで動作する) ということです。
private:
std::bitset<2500000000UL> cover; // not working
std::bitset<25000UL> cover; // working
何か案が ?
ありがとうございました
PS: 可能であれば、外部ライブラリを使用したくありません。私はすでにGMPを使用していますが、大きな数に対して少し設定された実装があるとは思いません。