负数>>运算补1
unsigned char CLAMP0255(int a)
{
return (unsigned char)
( (((-a) >> 31) & a) // 0 if the number was negative
| (255 - a) >> 31); // -1 if the number was greater than 255
}
负数>>运算补1
unsigned char CLAMP0255(int a)
{
return (unsigned char)
( (((-a) >> 31) & a) // 0 if the number was negative
| (255 - a) >> 31); // -1 if the number was greater than 255
}