gpt4 book ai didi

c++ - 将整数转换为可观的 vector 或字符串

转载 作者:太空宇宙 更新时间:2023-11-04 13:39:11 24 4
gpt4 key购买 nike

我在不使用字符串的情况下将十进制整数转换为二进制(在 Visual Studio 2013 中):

int de2bi(int de)
{
int bi = 0, pos = 1;
while(de > 0)
{
bi = bi + (de % 2) * pos;
de = de / 2;
pos *= 10;
}
return bin;
}

这样,输出中的二进制表示实际上是一个十进制数。问题是我想控制二进制输出中的位数,即我想要 00 而不是 0,或者我想要 01 而不是 1。

如何将输出转换为具有适当大小的 vector/字符串,以便在转换十进制数“1”时,我可以在返回的输出中包含“001”或“0001”,具体取决于我需要多少位数在我的输出中?

编辑:我采用了下面答案中的代码。但它并没有改变我代码中输出 vector “bin”的长度。它只会在屏幕上打印“000”。

std::cout<<std::setw(3)<<std::setfill('0')<<bin;    

最佳答案

std::string de2bi(int de){
std::string bin = "";
if( de == 0 ){
return "0";
}
else if( de < 0 ){
return "";
}

while(de){
bin = std::to_string(de % 2) + bin ;
de = de / 2;
}
return bin;
}

你可以在这里测试http://cpp.sh/5cx

关于c++ - 将整数转换为可观的 vector 或字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com