我有一个16字节的数据。我需要从中提取并打印不同的数据字段,例如第一个3位,接下来的11位,接下来的7位,等等。
答案 0 :(得分:0)
只需使用std :: bitset。谷歌对此有更多了解。
#include <bitset>
//...
unsigned char data[16] = { 0, 2, 66, 77, 84, 45, 66, 84, 63, 236, 4, 126, 42, 48, 90, 201 };
std::bitset<16> bits(data);
constexpr size_t m = 4;
constexpr size_t n = 8;
//Prints bits from m to n
for (size_t i = m; i <= n; i++)
{
std::cout << bits[i] << std::endl;
}