The union uses the same address for all the properties. This allows the same address to be interpreted as different types. A union will always be the value of the last assignment. In your case the literal.”orange”. When seen as a int, it’s the address, when seen as a float, it’s the address bits as a float.
note. The sizeof of a union is the size of the largest property.