i закодировал программу для преобразования 16 символов шестнадцатеричного числа в 64-битный двоичный код. 64 = 16 hex + 4-разрядный бит.C++ Преобразование Hex Char в Bin
string completeBitmap;
char bitmap[16];
for (int c = 0; c < sizeof(bitmap); c++)
{
string temp;
temp = bitset<4>(bitmap[c]).to_string();
completeBitmap += temp;
}
но когда я прочитал 'а', «B 'C', 'D', 'е' и 'F', они не преобразовать правильно. например, 'f' должно быть '1111', но в результате '0110'. спасибо за помощь
символов ' 'f'' случается иметь ASCII код '0x66'. '0110 == 0x6' - наименее значимые четыре бита этого кода ASCII. Какая часть документации предложила вам, что 'bitset <4> ('f')' приведет к набору бит '1111'? –