在C ++中的数字末尾添加一个数字(不求和)

时间:2018-12-31 23:48:41

标签: c++

我已经尝试过寻找它,他们给了我以下方法:

int x = 1;
while (x != 11)
{
    x = x * 10 + (x+1);
}
cout<<x;

output: 12345678910

虽然这很好,但我所有的问题是,如果第一个数字为零,它将忽略该数字。这样就可以了

0 * 10 + (0+1)

,它将显示为“ 1”而不是“ 01”。是否有一种很好的替代方法以这种方式将数字加在一起?

2 个答案:

答案 0 :(得分:3)

目前尚不清楚您为什么要尝试这样做,但是从字符串数字的角度考虑可能会有所帮助。对于数字,1和01之间没有区别,但是对于字符串,则没有区别。因此,如果差异对您很重要,请使用字符串。

例如,您可以简单地使用<<运算符在移动时将单个数字转换为字符串:

int x = 0;
while(x<11)
{
    cout << x;
    x++;
}

输出:

012345678910

答案 1 :(得分:1)

您可能正在寻找位集。在一个非常快速的示例中...

#include <iostream>
#include <bitset>

using namespace std;

int main(){
   int                  input;
   bitset<32>           result(0);   //32 bits in an int

   cin >> input;
   result = input;
   cout << result;

   return 0;
}