I would normally think that I knew the answer but I tried this:

Code:
#include <stdio.h>

int main()
{
        float test = 8388607;
        int i;

        for(i = 23; i < 130; i++){
                printf("%d bits: %f\n", i, test);
                test *= 2;
        }

        return 0;
}
I keep getting answers until it reaches 129 where it just says: inf. My mind is blown, can some one explain lol.