当前方向:
使用sizeof在我的系统上以1字节开头,并使用unsigned char.范围是0-255.如果length是我需要的位数,那么element就是我在数组中需要的元素数(字节数).
constant unsigned int elements = length/8 + (length % y > 0 ? 1 : 0);
unsigned char bit_arr[elements];
Run Code Online (Sandbox Code Playgroud)
现在我添加基本功能,如set,unset和test.其中j是每字节位数的索引,i是字节索引,h =位索引.我们有i = h/8和j = i%8.
Psuedo代码:
bit_arr[i] |= (1 << j); // Set
bit_arr[i] &= ~(1 << j); // Unset
if( bit_arr[i] & (1 << j) ) // Test
Run Code Online (Sandbox Code Playgroud)