Разработать алгоритм ввода с клавиатуры типов данных unsigned char и float и показать на экране их внутреннее представление в двоичной системе счисления. Также нужно установить в заданное пользователем состояние определённое количество рядом стоящих бит, номер старшего бита, как и всё остальное, вводится с клавиатуры.
float x = 3.14;
for (int i = sizeof(x) - 1; i >= 0; i--)
cout << bitset<8>(reinterpret_cast<char*>(&x)[i]);
cout << endl;
unsigned char c = 2;
for (int i = 7; i >= 0; --i) cout << ((c >> i) & 1);
}
Вышло что-то такое, а как сделать остальную часть без понятия…
Наверно надо в самом начале всё перевести в массив битов или bitset (один на всё число), вывести биты, поменять какие-то биты, потом обратно превратить биты в число и вывести число.