使用相同的表示将二进制字符串转换为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

求教如何Python十进制小数和二进制小数相互转换的实现方式,用代码表示出来,谢谢

如何将string类型的数字转换成int

Python - 如何将 int 转换为表示 32 位十六进制数的字符串

float型怎样强制转换成int型

C将浮点数转换为int