执行此代码时返回值

时间:2013-05-16 06:51:52

标签: steganography

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;

1 个答案:

答案 0 :(得分:0)

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

基本上你正在做的是将 colorvalue 变量移动两位,这意味着你将 colorvalue 除以4并存储在 red < / em>变量。

之后,代码所做的是从 colorvalue 中减去存储在 red 变量中的变量乘以4。

  

int red = colorvalue&gt;&gt; 2; //为什么要使用这个表达式

     

colorvalue - = red&lt;&lt; 2;

该代码用作模运算,其中函数除数为4,且被除数为 colorvalue