将整数转换为二进制字符串?

时间:2017-10-23 22:16:52

标签: c++

我必须将一个整数(从0到225)转换为8个字符的二进制字符串,我一直在尝试使用bitset,但我没有运气。如何获取整数并将其转换为8字符二进制字符串?

2 个答案:

答案 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;
}

编辑:根据评论,它首先处理最重要的位。