我有字节到二进制字符串函数,
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。
原文由 parc65 发布,翻译遵循 CC BY-SA 4.0 许可协议
我只是将其发布为答案。它更短、更安全,而且最重要的是,它已经 完成了。
输出:
更改了函数名称,尽管我对那个不满意……有人有个好主意吗?