将用 bitset 转换的二进制数放入向量中
putting binary numbers converted with bitset in a vector
我正在编写一个程序,将字节从字符串转换为二进制系统,然后将它们存储到向量中。我需要使用 bitset 来转换它们。我的问题是:如何将结果存储在向量 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;
}
}
如果将 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
}
}
我正在编写一个程序,将字节从字符串转换为二进制系统,然后将它们存储到向量中。我需要使用 bitset 来转换它们。我的问题是:如何将结果存储在向量 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;
}
}
如果将 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
}
}