📜  将 long int 转换为二进制字符串 c++ (1)

📅  最后修改于: 2023-12-03 15:39:12.858000             🧑  作者: Mango

将 long int 转换为二进制字符串 C++

在C++中,我们可以使用以下方法将一个 long int 类型的数字转换为一个二进制字符串。

#include <bitset>
#include <string>

std::string toBinaryString(long int num) {
    std::bitset<64> bits(num);
    return bits.to_string();
}

这里我们使用了标准库中的 bitset 类,可以将数字按位表示为二进制,再将其转换为字符串返回。

我们定义了 toBinaryString 函数,它接受一个 long int 参数,并返回一个二进制字符串。

在函数内部,我们首先创建了一个 bitset 对象 bits,并将其初始化为 num 的二进制表示。这里使用 64 位来表示,因为 long int 的最大值为 $2^{63}-1$。

最后,我们调用 bits.to_string() 方法将 bitset 对象转换为二进制字符串,并将其返回。

测试代码如下:

#include <iostream>

int main() {
    long int num = 101;
    std::string binaryString = toBinaryString(num);
    std::cout << binaryString << std::endl;
}

输出结果为:

0000000000000000000000000000000000000000000000000000000001100101

我们可以看到,函数成功将 101 转换为对应的二进制字符串了。