假设32位整数和2位恭维,以下是否可以?
unsigned int x = (unsigned int)-2; x &= (x >> 31) - 1;
我用的unsigned是因为按照标准
unsigned
结果E1 >> E2是E1右移位E2位置.....如果E1有一个带符号的类型和一个负值,则结果值是实现定义的.
E1 >> E2
E1
E2