通常,在C++中,在创建数组时,我将其声明为int.但是,由于我只处理二进制数(仅限1和0),我认为可以将4字节'int'转换为1位.
例如
int array1[] = {1,0,0,0,0,1,0}; // -----had total of 32 bytes
Run Code Online (Sandbox Code Playgroud)
因为它只是二进制,所以内存效率只有1/32,因为每个int 1将存储为000000000000000000000000000001(4字节).
所以我的问题是如何将所有这些转换为比特,以便32个字节可以"压缩"为1个字节(而不是8个32字节的int,我想要8位数据)?