4 から 10 の間の多くのブール値フィールドを必要とする一連のクラスがあります。各ブール値にバイトを使用する必要はありません。私は次のようなビットフィールド構造体を調べてきました:
struct BooleanBitFields
{
bool b1:1;
bool b2:1;
bool b3:1;
bool b4:1;
bool b5:1;
bool b6:1;
};
しかし、いくつかの調査を行った後、これにより非効率的なメモリアクセスが発生する可能性があり、メモリを節約する価値がないと多くの人が言っているのを目にします。この状況に最適な方法は何だろうと思っています。8 ビットを格納するには、ビット フィールドを使用する必要がありますか、それともビット マスキング (and および or s) を含む char を使用する必要がありますか? 2番目の解決策は、ビットシフトまたはロジックを使用する方が良いですか?
誰かがどの方法を使用するか、そしてなぜそれがどのルートを下るべきかを決定するのに本当に役立つかについてコメントできれば.
前もって感謝します!