C++ 将整数转换为二进制字符串?
我必须将一个整数(从0到225)转换成一个8字符的二进制字符串,我一直在尝试使用位集,但我没有任何运气。如何将整数转换为8个字符的二进制字符串 我认为您使用C++ 将整数转换为二进制字符串?,c++,C++,我必须将一个整数(从0到225)转换成一个8字符的二进制字符串,我一直在尝试使用位集,但我没有任何运气。如何将整数转换为8个字符的二进制字符串 我认为您使用位集的方式很好。不知道您的位集有哪些问题,但请尝试以下方法。请注意,可以使用各种类型的值初始化位集,其中一种为整数类型: int main() { int value = 201; std::bitset<8> bs(value); cout << bs.to_string(); } intm
位集的方式很好。不知道您的位集有哪些问题,但请尝试以下方法。请注意,可以使用各种类型的值初始化位集,其中一种为整数类型:
int main() {
int value = 201;
std::bitset<8> bs(value);
cout << bs.to_string();
}
intmain(){
int值=201;
std::位集bs(值);
我想,您使用位集的方法很好。不知道您在位集
方面遇到了哪些问题,但请尝试以下方法。请注意,位集可以用各种类型的值初始化,其中一种是整数类型:
int main() {
int value = 201;
std::bitset<8> bs(value);
cout << bs.to_string();
}
intmain(){
int值=201;
std::位集bs(值);
cout这在没有位集的情况下很容易做到,只是作为一种替代解决方案:
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;
}
std::字符串ucharToBitString(无符号字符x)
{
std::string s=“”;
对于(int i=0;i<8;i++)
{
s+=(x&128)?“1”:“0”;
x这在没有位集的情况下非常容易做到,只是作为替代解决方案:
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;
}
std::字符串ucharToBitString(无符号字符x)
{
std::string s=“”;
对于(int i=0;i<8;i++)
{
s+=(x&128)?“1”:“0”;
欢迎使用Stack Overflow!您能告诉我们您到目前为止尝试了什么吗?编写一个循环,从整数中获取每一位,然后根据位的值将字符'0'
或'1'
添加到字符串中。搜索稍微困难一点,这已经被询问并回答了至少六次,仅计算Stack Overflow。See我最终使用了while循环,感谢while(val!=0){s=(val%2==0?“0”:“1”)+s;val/=2;}欢迎使用Stack Overflow!您能告诉我们您到目前为止尝试了什么吗?编写一个循环,从整数中获取每一位,然后根据位的值将字符'0'
或'1'
添加到字符串中。搜索稍微困难一点,这已经被询问并回答了至少六次,仅计算Stack Overflow。请参阅我最终使用了while循环,感谢while(val!=0){s=(val%2==0?“0”:“1”)+s;val/=2;}您可能需要指出这是最高有效位优先还是最低有效位优先。感谢您的回复,我最终使用了while循环!您可能需要指出这是最高有效位优先还是最低有效位优先。感谢您的回复,我最终使用了while循环!