为了账号安全,请及时绑定邮箱和手机立即绑定

位移&二进制操作疑问?

位移&二进制操作疑问?

倚天杖 2018-08-17 10:09:57
/*网上学习算法,摘抄了一下一段代码,是操作色值的, 对于一个刚接触算法的人来说怎么知道这段代码的意思?*/  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 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

三个方法:

1、看书,明白操作符(>>    &)的作用

或者

2、运行代码,传入不同的argb值,观察 _alpha, _red, _green, _blue的值,猜测操作符的作用。

3、英文读好一点,直接看函数名, rbg2gray, 从RBG颜色变为灰度色值。


查看完整回答
反对 回复 2018-09-04
  • 1 回答
  • 0 关注
  • 649 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信