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