2017-03-03 1 views
0

Je veux faire un tableau de champs de bits int où chaque int a un bit, ce qui signifie que tous les nombres seront 1 ou 0, comment puis-je coder cela?Comment faire un tableau de bits?

J'ai essayé

struct bitarr { 
    int arr : 1[14]; 
}; 

mais cela ne compile pas et je ne pense pas que ce soit la façon dont

Répondre

2

Vous ne pouvez pas faire ensemble de ces bits. Au lieu de cela, créez une seule variable de 16 bits pour vos bits, puis au lieu d'y accéder comme i[myindex] vous pouvez y accéder en tant que bitsVariable & (1 << myindex).

Pour définir bits, vous pouvez utiliser:

bitsVariable |= 1 << myindex; 

Pour effacer bits, vous pouvez utiliser:

bitsVariable &= ~(1 << myIndex); 

Pour vérifier bits, vous pouvez utiliser:

if (bitsVariable & (1 << myIndex)) { 
    //Bit is set 
} else { 
    //Bit is not set 
}