I know this is going to sound like a stupid question, but I'm just
seeking confirmation of this for my own peace of mind... the "natural"
behavior of variables in a programming environment (and since it may
differ from language to language, I'll specifically name C++ for this;
and by "natural" behavior, I mean how the variable would behave without
any special handlers written for bounds checking or anything, just
exactly how the code would be interpreted under normal circumstances)
is, as far as I've ever observed, that if the value exceeds the upper or
lower limit of the value range for the declared type, that wraps around
to the other end of the spectrum... i.e. in a short int variable that
can hold a range of 65536 values (unsigned), if I were to declare it as
60536 and then add 10000 to it, it's current value should equal 5000,
correct? Or in a signed variable of the same size, ranging from -32767
to 32767, if I declared it as being equal to 30767 and added 4000 to it,
it would then equal -30767, right?  And if they were initialized to say,
-30767 and I subtracted 4000 then it should equal 30767?... I can't find
a definition on the natural behavior of integers anywhere online, and
since I've never taken an actual C or C++ course, all of my knowledge of
it is based on observation, so can someone more learned than I confirm
that?  Or if it's incorrect, tell me why, or if it's quirky, point out
certain instances that this wouldn't be the case?  Thanks in advance :)

Richard Lindsey

Reply via email to