JS或AS中处理ARGB、RGBA颜色值时要小心
(0xffffffff)>>24; //-1 (0xffffffff / 2)>>23; //255
argb颜色需要一个无符号整数uint才能存储,如果首位是F,那么第一个二进制位就是1。
在右移操作时,编译器误以为这是一个负数,会一直补1,导致最后出来一个负数。
而C++里边,这种低级问题就不会出现的。
kenkofox@qq.com
https://github.com/kenkozheng
欢迎投简历给我,一线大厂工作机会
(0xffffffff)>>24; //-1 (0xffffffff / 2)>>23; //255
argb颜色需要一个无符号整数uint才能存储,如果首位是F,那么第一个二进制位就是1。
在右移操作时,编译器误以为这是一个负数,会一直补1,导致最后出来一个负数。
而C++里边,这种低级问题就不会出现的。