Чтение «unsigned int» с использованием «cin»
Я пытаюсь прочитатьunsigned int
с помощьюcin
следующее:
#include <limits.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
unsigned int number;
// UINT_MAX = 4294967295
cout << "Please enter a number between 0 and " << UINT_MAX << ":" << endl;
cin >> number;
// Check if the number is a valid unsigned integer
if ((number < 0) || ((unsigned int)number > UINT_MAX))
{
cout << "Invalid number." << endl;
return -1;
}
return 0;
}
Однако всякий раз, когда я ввожу значение, превышающее верхний предел целого числа без знака (UINT_MAX
), программа отображает3435973836
, Как проверить, попадает ли введенный пользователем вклад между0
вUINT_MAX
?