For the special rgb float case, request the value as a float to avoid manipulation, then do the manipulation.
Also, mask out any extra information that may be stored in the upper 8 bits.