簡體   English   中英

如何將一個位集分配給一個無符號的字符向量?

[英]How to Assign a bitset to an unsigned char vector?

我正在使用具有一些十六進制值的無符號char向量。

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

然后,使用位集將“ 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);

由於我通過參考傳遞了矢量,因此我想對其進行更改。 即,無論我對位集進行了什么更改,我也都希望將其提交給向量。 但是,我不確定如何將位集轉換為未簽名的char以及如何將其分配給我的向量,以便更新我的向量sync

調用manipulator.to_ulong() (縮小到unsigned char轉換將是無害的。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM