让我们说我有一个动态分配的数组.
int* array=new int[10]
Run Code Online (Sandbox Code Playgroud)
即10*4 = 40字节或10*32 = 320位.我想读取第30个字节或第242个位的第2位.最简单的方法是什么?我知道我可以使用数组[30]访问第30个字节,但访问单个位更加棘手.
bool bitset(void const * data, int bitindex) {
int byte = bitindex / 8;
int bit = bitindex % 8;
unsigned char const * u = (unsigned char const *) data;
return (u[byte] & (1<<bit)) != 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4164 次 |
| 最近记录: |