如何将bitset分配给unsigned char向量?

时间:2017-09-24 04:30:26

标签: c++ vector std-bitset

我正在使用一个带有一些十六进制值的无符号字符向量。

   std::vector<unsigned char> sync;
   sync.push_back(0x50);
   sync.push_back(0x51);
   sync.push_back(0x52);
   sync.push_back(0x53);

然后,使用bitset I&#34;变形&#34; sync [3]到8位表示。这是因为我需要破坏/切换其中的任何随机位。

    srand(time(NULL));
    int bitsetIndex= random()%8; 
    std::bitset<8> manipulator(v[3]); //v is the vector argument which takes "sync" vector
                                      //by reference 
    manipulator.flip(bitsetIndex);

因为,我通过引用传递我的向量,我想对它进行更改。即 无论我对我的bitset做了什么改变,我都想把它提交给vector。但是,我不确定如何将bitset转换为unsigned char以及如何将其分配给我的vector,以便更新我的vector sync

1 个答案:

答案 0 :(得分:0)

致电manipulator.to_ulong()。 (缩小到unsigned char的转换将是无害的。)