У меня есть функция байта в двоичную строку,
std::string byte_to_binary(unsigned char byte)
{
int x = 128;
std::ostringstream oss;
oss << ((byte & 255) != 0);
for (int i = 0; i < 7; i++, x/=2)
oss << ((byte & x) != 0);
return oss.str();
}
Как я могу записать int в биты таким же образом? Мне не нужны дополнительные 0 в начале двоичной строки, поэтому я не могу понять, как каждый раз создавать переменную длину. Кроме того, я не использую std::bitset.
std::bitset
? - person Xeo   schedule 18.05.2011bitset
их перегружает. Следующая причина? - person Xeo   schedule 18.05.2011ostringstream
иstring
, так что вы явно пишете код на C++. Используйте классы C++ для того, для чего они созданы. Следующая причина? :P Это может показаться немного резким, но позже вы будете благодарны. - person Xeo   schedule 18.05.2011c
, а неc++
. - person ildjarn   schedule 18.05.2011std::bitset
? Его можно построить даже из вашегоbyte
!! (Возможно, вам придется следить за порядком байтов.) - person Xeo   schedule 18.05.2011