int red = colorvalue >> 2;// why use this expression
colorvalue -= red << 2;
int colorValue = messageLength;
int red = colorValue >> 2;
colorValue -= red << 2;
int green = colorValue >> 1;
int blue = colorValue - (green << 1);
pixelColor = Color.FromArgb(red, green, blue);
bitmap.SetPixel(0,0, pixelColor);
请为我解释一下。我不明白算法。为什么使用这个表达式:colorvalue -= red << 2;
?