I think, with an similar example of a source software code algorithm, written in the computer programming language C++ you will understand it better.
Code:
while (!Valid)
{
cout << "Enter a number string: ";
cin >> Number;
if (cin)
{
cin.ignore(numeric_limits<int>::max(), '\n');
if (cin.gcount() == +1)
{
if ( Number >= 0)
{
Valid = true;
}
}
}
else
{
cin.clear();
cin.ignore(numeric_limits<int>::max(), '\n');
cout << "Not a valid number string. Try again: \n";
}
}