May 16, 2014 1 Comment
When you perform an arithmetic operation on a floating point value and the result has a magnitude that is too large to be represented by the floating point data type, an overflow condition occurs. This is equivalent to trying to store a value whose exponent is larger than the maximum allowed exponent value.
If the result of the calculation is greater than the maximum representable positive floating point value, the result of the calculation is +Infinity. If the result of the calculation is less than the largest representable negative floating point value, the result of the calculation is -Infinity.
// Create a big floating point number float bigNumber = float.MaxValue; Console.WriteLine(bigNumber); // 3.402823E+38 // Adding small number doesn't change large number float newBig = bigNumber + 1.0f; Console.WriteLine(newBig); // 3.402823E+38 // But doubling the original number leads to overflow float reallyBig = bigNumber * 2.0f; Console.WriteLine(reallyBig);