2013-05-16 69 views
0
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;返回值时,该代码是执行

回答

0

首先,在“< <”和“>>”运算符是用于移位位运算符。通过搜索“按位运算符”关键字,您可以在网络上找到关于这些操作的大量信息。

基本上你正在做的是由两个比特移位colorvalue变量,这意味着你将colorvalue 4和在红色变量存储。

之后,什么代码中并从colorvalue存储在红色变量乘以4。

INT红色= colorvalue >> 2变量中减去; //为什么要使用这个表达式

colorvalue - = red < < 2;

代码工作为模数运算其中函数除数是4和被除数是colorvalue