# Maximum single-precision floating-point format number

According to this wikipedia article the maximum single precision is 7f7fffff. Can some explain me why it is (7f7fffff)16 and not (7fffffff)16?

(7f7fffff)16 = (0111 1111 0111 1111 1111 1111 1111 1111)2
(7fffffff)16 = (0111 1111 1111 1111 1111 1111 1111 1111)2

unsigned int i = 0x7FFFFFFF;

If you print f you get nan.