📅  最后修改于: 2023-12-03 15:39:12.858000             🧑  作者: Mango
在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
转换为对应的二进制字符串了。