Bac*_*alo 1 bit-manipulation bitwise-operators
有人可以将此声明翻译成伪代码(或只是简单的英语)吗?
var c:uint = 0xFF << 24 | r << 16 | g << 8 | b;
Run Code Online (Sandbox Code Playgroud)
这是在一个四字节字中设置不同的字节.<<向左移动指定的位数,因此<< 24移位三个字节,<< 8一个字节等.因此,组合在一起的组件将是
0xFF000000 0xFF << 24
0x00rr0000 r << 16
0x0000gg00 g << 8
0x000000bb b
Run Code Online (Sandbox Code Playgroud)
给出类似的最终答案
0xFFrrggbb
Run Code Online (Sandbox Code Playgroud)
给定变量名称,这可能是32位颜色值,每个字节分别为红色,绿色和蓝色.第四个组件可以是透明度,也可以是z值(深度),或者只是备用位,以防其他地方需要它们.;-)