помещая двоичные числа, преобразованные с набором битов в вектор - PullRequest
1 голос
/ 26 марта 2020

Я делаю программу, которая преобразует байты из строки в двоичную систему, а затем сохраняет их в вектор. Мне нужно использовать bitset для их преобразования. Мой вопрос: как я могу сохранить результаты в векторе b? Я думал о том, чтобы сохранить их одно число за другим, но как будет выглядеть l oop?

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;
    }
}

1 Ответ

1 голос
/ 26 марта 2020

Если вы сделаете ба векторов наборов битов, вы сможете легко их сохранить.

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
    }

}
...