我必须将一个整数(从0到225)转换为8个字符的二进制字符串,我一直在尝试使用bitset,但我没有运气。如何获取整数并将其转换为8字符二进制字符串?
答案 0 :(得分:2)
我认为你使用bitset
的方式很好。不知道您对bitset
有哪些问题,但请尝试以下方法。请注意,可以使用各种类型的值初始化位集,其中一个是整数类型:
int main() {
int value = 201;
std::bitset<8> bs(value);
cout << bs.to_string();
}
答案 1 :(得分:0)
如果没有bitset
,这很容易做到,就像另一种解决方案一样:
std::string ucharToBitString(unsigned char x)
{
std::string s = "";
for(int i = 0; i < 8; i++)
{
s += (x & 128) ? "1" : "0" ;
x <<= 1;
}
return s;
}
编辑:根据评论,它首先处理最重要的位。