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

Convert an integer to a binary string?

本文关键字:二进制 字符串 转换 整数      更新时间:2023-10-16

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

我认为

您使用bitset很好。不知道您在使用bitset时遇到了哪些问题,但请尝试以下操作。请注意,位集可以使用各种类型的值进行初始化,其中一种是整数类型:

int main() {
    int value = 201;
    std::bitset<8> bs(value);
    cout << bs.to_string();
}

这很容易做到,无需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;
}

编辑:根据注释,这首先处理最高有效位。