RGB怎么转换成十六进制

RGB如何转换成十六进制?
程序原来用到的颜色是十六进制的,比如白色是0xffffffff,黄色是0xffff00ff

现在我知道颜色的RGB三个值,如何用程序实现十六进制的转换,和0xffff00ff这种格式类似。

------解决方案--------------------
C/C++ code

unsigned char red, green, blue;
unsigned int color = (unsigned int)red << 16;
color += (unsigned int)green << 8;
color += blue;
color |= 0xff000000;