#1,098 – Floating Point Overflow

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);
```