使用相同的表示将二进制字符串转换为int
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用相同的表示将二进制字符串转换为int相关的知识,希望对你有一定的参考价值。
我有一个问题,如何通过保持相同的数字重新排列,在C ++中将二进制字符串转换为int?例如,我想将此字符串“0000”转换为此int 0000。
我用这个时:
string str = "0000" ;
int num = atoi(str.c_str());
cout <<num << endl;
我得到了数字0,但我想要数字0000。
答案
您将使用setfill
操纵器添加格式化逻辑。
#include <iostream>
#include <iomanip>
int main()
{
for(int n = 0; n <= 1000; n = n + 100)
{
std::cout << "default: " << std::setw(4) << n << ' '
<< "setfill('0'): " << std::setfill('0')
<< std::setw(4) << n << '
';
}
return 1;
}
这将产生以下输出:
default: 0 setfill('0'): 0000 <-- Desired formatting when value is 0
default: 0099 setfill('0'): 0099
default: 0198 setfill('0'): 0198
default: 0297 setfill('0'): 0297
default: 0396 setfill('0'): 0396
default: 0495 setfill('0'): 0495
default: 0594 setfill('0'): 0594
default: 0693 setfill('0'): 0693
default: 0792 setfill('0'): 0792
default: 0891 setfill('0'): 0891
default: 0990 setfill('0'): 0990
以上是关于使用相同的表示将二进制字符串转换为int的主要内容,如果未能解决你的问题,请参考以下文章
求教如何Python十进制小数和二进制小数相互转换的实现方式,用代码表示出来,谢谢