0
各intが1ビットを持つintビットフィールドの配列を作成したいとします。つまり、すべての数字が1または0になることを意味します。ビットの配列を作るには?
私は
struct bitarr {
int arr : 1[14];
};
を試してみましたが、それはコンパイルできないと私は、これはあなたがこれらのビットの配列を行うことができない方法
各intが1ビットを持つintビットフィールドの配列を作成したいとします。つまり、すべての数字が1または0になることを意味します。ビットの配列を作るには?
私は
struct bitarr {
int arr : 1[14];
};
を試してみましたが、それはコンパイルできないと私は、これはあなたがこれらのビットの配列を行うことができない方法
であるとは思いません。代わりに、あなたのビットのための単一の16ビット変数を作成し、それにi[myindex]
としてアクセスするのではなく、bitsVariable & (1 << myindex)
としてアクセスすることができます。
ビットを設定するには、使用することができます:
bitsVariable |= 1 << myindex;
は、ビットをクリアするには、使用することができます:
bitsVariable &= ~(1 << myIndex);
ビットをチェックするには、使用することができます。
if (bitsVariable & (1 << myIndex)) {
//Bit is set
} else {
//Bit is not set
}