&gt; If the loop does significant work and was calibrated for an expectation of 65k iterations, stepping to 2 billion (let alone a few quintillion) is for all intents and purpose endless.<p>And if it&#x27;s not, it&#x27;s not, the point being that endless in this case would be meaningless outside it&#x27;s literal meaning unless we know more about the specific case.<p>&gt; No objection there, doing that is making invalid assumptions, my point is that moving to exact-size integral does <i>fix</i> it.<p>No, using an exact <i>value</i> fixes it. Any unsigned integer type is just fine for any integer value from 0 to 65535. If you change the type to a larger integer type without changing the supposed iteration count, the code would not have this problem, and if you changed the value to something higher than 65535 without adjusting the size of the type, you would have a different problem. Thus, the problem described here does not pertain to the type of the variable used.