gpt4 book ai didi

c++ - 将 bitset<64> 转换为 quint8

转载 作者:行者123 更新时间:2023-11-30 04:57:19 26 4
gpt4 key购买 nike

我有一个 bitset<64> (16 位串行和 48 位时间戳),我想写到 quint8 *data .

bitset<64>看起来像:

1111001010100101...

我要data看起来像:

data[0] = 11110010
data[1] = 10100101
...

如果有人可以帮助我实现它,我将不胜感激。

最佳答案

如果我理解正确,那么这就完成了你的要求:

#include <iostream>
#include <bitset>

int main()
{
std::bitset<64> bits64{0b0111101111011001110011010101110001111011110110011100110101011100};

/*
01111011
11011001
11001101
01011100
01111011
11011001
11001101
01011100
*/

for (auto i = 7; i >= 0 ; i--)
std::cout << std::bitset<8>{bits64.to_ullong() >> (i * 8)} << std::endl;

return 0;
}

输出:

01111011
11011001
11001101
01011100
01111011
11011001
11001101
01011100

您可以更改 for循环语句以使其以您选择的任何字节顺序发出。

关键是雇用 the shift operator ( <<>> )关于积分值。

关于c++ - 将 bitset<64> 转换为 quint8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52077081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com