2017-03-03 56 views
0

我想製作一個int位字段的數組,其中每個int都有一位,這意味着所有數字都是1或0,我該如何編碼?如何製作一個位數組?

我試圖

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

但是,這並不編譯,我不認爲這是你不能做這些位的排列方式

回答

2

。相反,爲您的位創建一個16位變量,然後不要將其作爲i[myindex]訪問,您可以將其作爲bitsVariable & (1 << myindex)訪問。

要設置位,你可以使用:

bitsVariable |= 1 << myindex; 

要清除位,你可以使用:

bitsVariable &= ~(1 << myIndex); 

要檢查一下,你可以使用:

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