免責事項:私は割り当てに関連してこれらの質問をしています。割り当て自体は、ビットマップを実装し、それを使用していくつかの操作を実行することを要求しますが、それは私が求めていることではありません。自分で実装を試すことができるように、概念を理解したいだけです。
ビットマップ/ビット配列とビット単位の演算を理解するのに助けが必要です。バイナリの基本と左右シフトの仕組みは理解していますが、その使用がどのように役立つのか正確にはわかりません。
基本的に、(エラトステネスの)プライムシーブの結果を保存するためにビットマップを実装する必要があります。これは、さまざまなIPCメソッドに焦点を当てた大きな割り当てのごく一部ですが、その部分に到達するには、最初にシーブを完成させる必要があります。 。私はビット演算を使用する必要がなかったし、ビットマップについても学んだことがないので、これを学ぶのは私自身のようなものです。
私の知る限り、ビットマップは特定のサイズのビットの配列ですよね?つまり、8ビット配列または32ビット配列を使用できます(私の場合、32ビットのunsigned intの素数を見つける必要があるため、32ビット配列が必要です)。これがビットの配列であり、そのうち32個が具体的である場合、基本的に32個の1と0の文字列について話します。これはどのように素数のリストに変換されますか?1つの方法で2進数を評価し、それを10進数として新しい配列に保存するため、すべての10進数の素数が1つの配列に存在しますが、使用しているデータが多すぎるようです。
ビットマップの要点はありますか?それとも私が欠けているものがありますか?私はインターネットでこれについて読んでみましたが、私にとって十分に明確な情報源を見つけることができません...