DWORD color = 0xccaa00;
BYTE r = color >> 16;
BYTE g = color >> 8 &0xFF;
BYTE b = color & 0xFF;
& 按位与
如果对应的位都为1,那么结果就是1, 如果任意一个位是0 则结果就是0
0xFF0000
二进制表示 1111 1111 0000 0000 0000 0000
右移16位为 0000 0000 0000 0000 1111 1111 = R
右移8位为0000 0000 1111 1111 0000 0000 与0xFF(0000 0000 0000 00001111 1111)进行按位与操作 = 0 = G
BYTE r = color >> 16;
BYTE g = color >> 8 &0xFF;
BYTE b = color & 0xFF;
& 按位与
如果对应的位都为1,那么结果就是1, 如果任意一个位是0 则结果就是0
0xFF0000
二进制表示 1111 1111 0000 0000 0000 0000
右移16位为 0000 0000 0000 0000 1111 1111 = R
右移8位为0000 0000 1111 1111 0000 0000 与0xFF(0000 0000 0000 00001111 1111)进行按位与操作 = 0 = G