This program reinterprets the memory where a float is stored. Depending on the size of destination (float here), its representation (Assume IEEE754), and machine endianness it may give different outputs.
In this case, it appears machine is little endian and float representation is IEEE754.
You can use this online tool to visualize the float reprentation in binary.
+-------------+-----------------------------------------------------------+
| Input | 5.375 |
+-------------+-----------------------------------------------------------+
| Binary32 | 40 AC 00 00 |
+--------+----+-----+---------------+-------------------------------------+
| Status | Sign [1] | Exponent [8] | Significand [23] |
+--------+----------+---------------+-------------------------------------+
| Normal | 0 (+) | 10000001 (+2) | 1.01011000000000000000000 (1.34375) |
+--------+----------+---------------+-------------------------------------+
Loosely related topic: Strict aliasing rule.