>203
思いつきで
#define RED_MASK 0xf800
#define RED_SHIFT (6+5)
#define GREEN_MASK 0x07e0
#define GREEN_SHIFT (5)
#define BLUE_MASK 0x001f
#define BLUE_SHIFT (0)

color = ((red & RED_MASK)<<RED_SHIFT ) | ((green & GREEN_MASK)<<GREEN_SHIFT ) | ((blue & BLUE_MASK)<<BLUE_SHIFT);

red,green,blueが各値のMAX値を超えない保証があるならマスク不要。