相关疑难解决方法(0)

我如何实现位数组?

当前方向:

使用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)

c arrays bit

1
推荐指数
1
解决办法
1522
查看次数

标签 统计

arrays ×1

bit ×1

c ×1