Я сделал небольшую программу, чтобы определить длину предоставленного пользователем целого числа:Есть ли максимальная длина int, которую пользователь может ввести?
#include <iostream>
using namespace std;
int main()
{
int c=0; //counter for loop
int q=1; //quotient of number upon division
cout << "Hello Cerberus! Please enter a number." << endl;
cin >> q;
if(q > -10 && q < 10)
{
cout << "The number you entered is 1 digit long." << endl;
}
else
{
while(q != 0)
{
q=q/10;
c++;
}
cout << "The number you entered is " << c << " digits long." << endl;
}
return 0;
}
Она работает довольно хорошо, если число не становится слишком большим. Как только ввод будет длиной 13 цифр или около того, программа по умолчанию будет «Номер, который вы ввели, длиной 1 цифра» (он не должен даже представлять это решение, если оно не находится между -10 и 10).
Существует ли ограничение длины для целых чисел, вводимых пользователем, или это является показателем пределов памяти моего компьютера?
Если бы я хотел использовать int64_t для «д» бы я фраза это: #include #include с использованием патезраса; int main() { int c = 0; // counter for loop int64_t q = 1; // коэффициент числа при делении ... простой как это? –
Cerberus
@Cerberus: выглядит прилично. –