@RedFeather said:
(I actually remember writing this, a little. In an earlier version, the variable i was unsigned. That is, I was testing an unsigned number to see if it was >= 0. Yeah. That caused some problems.)
Don't you know that C13 will require that unsigned can represent -1 as well, exactly to remove that source of errors?
On a similar note, float and double will need to store integers up to 2**61, too.
So you're just a bit early.
Edit: why are the types marked with TT in the edit field, but not in the result?