union FP16 { uint16 u; struct { uint16 Mantissa : 10; uint16 Exponent : 5; uint16 Sign : 1; }; }; struct half { // Constructors, operators, etc... here FP16 fp16; };