I think i got your question. Have a look on this, especially on how the structure/design of these variables are done. http://en.m.wikipedia.org/wiki/Single_precision
Float usually stands for floating point variable. This means you have (usually 3 bytes) where you store your number. Then you additionally have a (one byte) exponent, which says where to set the point within this number.
Now you can easily calculate the max and min numbers one can store in this value.
But there is a tricky part. As this is no fix point integer, it may have limited precision that can cause strange problems. As the number gets bigger, the absolute distance between the number is getting bigger.
At some point, you will reach a number, where you can add 1, and it will remain the same number, cause one is outside the precision range you have available.
As you will see on the wiki page above:
1 bit is used to flag negative numbers, 23 bits are used for your precision and 8 are used as an exponent. Now imagine, as an example, the exponent would be 40, now you will have a 23 bits number where the point is placed on position 40. All the rest is filled with 0. Adding 1 would not change the number, cause it is outside the significant scope and would not be stored.
Maybe you were asking why there is another +1 in the exponent. This is nicely explained here: Which is the first integer that an IEEE 754 float is incapable of representing exactly?
It's cause an mantissa of the form abcdefg actually stands for 1.abcdefg.