Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';t在c+中,一个变量的位数不能超过10位+;_C++_C++11_Variables - Fatal编程技术网

C++ Can';t在c+中,一个变量的位数不能超过10位+;

C++ Can';t在c+中,一个变量的位数不能超过10位+;,c++,c++11,variables,C++,C++11,Variables,我假设创建一个循环,接收一个字符串输入数字并将其转换为整数变量,这样我就可以在数字上加1,然后再将其转换为字符串并打印5次,每次打印的数字上加1。问题是,它最多只能工作9位。如果你输入的数字超过9,那么它会给出其他不同的数字,比如-125346543 如果你输入9位数字101010101。它会打印出101010101->101010106,但如果你输入10位数字,比如1010101010。它将打印出-128764798->128764804。我需要它打印至少13位数字 #include <

我假设创建一个循环,接收一个字符串输入数字并将其转换为整数变量,这样我就可以在数字上加1,然后再将其转换为字符串并打印5次,每次打印的数字上加1。问题是,它最多只能工作9位。如果你输入的数字超过9,那么它会给出其他不同的数字,比如-125346543

如果你输入9位数字101010101。它会打印出101010101->101010106,但如果你输入10位数字,比如1010101010。它将打印出-128764798->128764804。我需要它打印至少13位数字

#include <iostream>
#include <string>
#include <sstream>

int main() {
    int l=0;
    int x=0;
    string nope;
    cout<<"please provide 13 digit code : ";
    cin>>nope;                                // ask for 13 digit code
for(i=0; i < 5 ; i++)
{
    stringstream geek(nope);                 // turn string to Int
    geek>>x;
    l = x + 1;                               // add 1 to Int
    stringstream ss;                         // turn it back to string
    ss << l;
    string q = ss.str();
    nope = q;
    cout<<nope;                              // prints out
}
#包括
#包括
#包括
int main(){
int l=0;
int x=0;
字符串nope;
coutnope;//要求输入13位代码
对于(i=0;i<5;i++)
{
stringstream geek(nope);//将字符串转换为Int
极客>>x;
l=x+1;//将1添加到Int
stringstream ss;//将其返回到string

SS< < > C++中的内置代码< int >代码>通常为32位,这意味着它们不能存储大于2 ^ 31 -1的值(因为通常使用的是符号位)(C++要求至少16位)

如果需要无限精度的整数,必须使用库,而不是直接内置的
int

如果达到“int”最大值,请尝试使用“long”,即64位而不是32位。