Overflow and Underflow

Overflow is said to occur when the number that one gets as a result of some arithmetic operation on two n-bit binary numbers (signed or unsigned) is larger in magnitude than the largest number one can represent using n-bits. What if the operation of two numbers yields a number which is smaller than the smallest representable number? Is this underflow? Note that this may still be called an overflow since, we are only concerned with the magnitude. Hence the example I was trying to construct in class today which was of the second type, is actually an overflow.

Since we are only concerned with magnitude, why even talk about underflow? Talking about underflow makes sense for floating-point numbers. For example using a 4-bit 2's complement representation for an exponent of a floating-point number, would enable us to represent numbers of the order of 10-16 to 1015. If the number is less than 10-16 there would be no way to represent it, and hence it would lead to an underflow. Underflow in floating-point arithmetic may also be thought of as overflow of the exponent.

这下总算明白了。。

posted @ 2011-02-18 22:30  Zeicold  阅读(680)  评论(0编辑  收藏  举报