将二进制数转换为向量中的比特集

问题描述 投票:1回答:1

我正在编写一个程序,将字节从字符串转换为二进制系统,然后将其存储到向量中。我需要使用位集来转换它们。我的问题是:如何将结果存储在向量b中?我曾想过用一个数字保存一个数字,但是循环看起来如何?

string key = "codekeys";
char text;
vector<int> k;
vector<int> b;

void f() {
    for(char& text : key) {
        k.push_back(text);
    }
    cout << "k size: " << k.size() << endl;
    for(int i=0; i<k.size(); i++) {
        cout << k[i] << " in binary " << bitset<8> (k[i]) << endl;
    }
}
c++ vector binary bitset
1个回答
0
投票

如果将b设为位集的向量,则可以轻松存储它们。

string key = "codekeys";
char text;
vector<int> k;
vector<bitset<8>> b;

void f() {
    for(char& text : key) {
        k.push_back(text);
        b.push_back(bitset<8>(text)); // convert to bitset and store in b
    }
    cout << "k size: " << k.size() << endl;
    for(int i=0; i<k.size(); i++) {
        cout << k[i] << " in binary " << b[i] << endl; // print b
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.