Я использую код, который позволяет мне преобразовывать любой тип (int, double, float, char) в строку.Я протестировал программу и выбрал char
в качестве значения типа.
stringstream ss;
string s;
char c = '3';
ss << c;
ss >> s;
cout << "CHAR" << endl;
bitset<8> bs2( (char) c );
for( int i = (int) bs2.size(); i >= 0; i-- )
cout << bs2[i] << " ";
cout << endl;
bitset<8> bs1( (char) s.c_str()[0]);
cout << "STRING" << endl;
for( int i = (int) bs1.size(); i >= 0; i-- )
cout << bs1[i] << " ";
cout << endl;
Вывод
CHAR
0 0 0 0 0 0 0 1 1
STRING
0 0 0 0 0 0 0 1 1
Но я обнаружил одну странную вещь.Я установил char c = ' '
, и значение не было преобразовано правильно.
CHAR
0 0 0 1 0 0 0 0 0
STRING
0 0 0 0 0 0 0 0 0
Я не смог найти объяснения этому и что я сделал не так.