バイトからバイナリ文字列への関数がありますが、
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 を使用していません。