/* 网上学习算法,摘抄了一下一段代码,是操作色值的, 对于一个刚接触算法的人来说怎么知道这段代码的意思? */ int rgb2gray(int argb) { int _alpha = (argb >> 24) & 0xFF; int _red = (argb >> 16) & 0xFF; int _green = (argb >> 8 ) & 0xFF; int _blue = (argb) & 0xFF; return int(0.3*_red + 0.59*_green + 0.11*_blue); }
三个方法:
1、看书,明白操作符(>> &)的作用
或者
2、运行代码,传入不同的argb值,观察 _alpha, _red, _green, _blue的值,猜测操作符的作用。
3、英文读好一点,直接看函数名, rbg2gray, 从RBG颜色变为灰度色值。
感谢回复。
你说我要停留在 明白>> 、& 的粒度, 还是留在看函数名或试验猜, 很迷茫。
采纳你的三条方法了。