非常に大きな bool データ セットを処理する場合は、ビット単位の操作を使用して処理し、次のことができるビット セットを処理するライブラリを探します。
- 動的に設定され、ポインターまたは参照によって渡すことができます。
- ビットごとに読み書きします。
- 設定されたビットをカウントし、高速にします。
明らかにstd::bitset
の機能は制限されすぎています。推奨事項はありますか?
非常に大きな bool データ セットを処理する場合は、ビット単位の操作を使用して処理し、次のことができるビット セットを処理するライブラリを探します。
明らかにstd::bitset
の機能は制限されすぎています。推奨事項はありますか?
GMPは、任意のサイズの自然数に対して低レベルのビット関数を提供します。これらは「低レベルの GMP 関数であり、高レベルの GMP 関数を実装するために使用されますが、タイム クリティカルなユーザー コードも対象としています。」
これらにはmpn_popcount
、1 ビットのカウントと、mpn_copyi
サブシーケンスの抽出が含まれます。
BitMagicライブラリもあなたの友達かもしれません。