是的,
如
unsigned a = -1; // (a = 0xffffffff)
int b = -1; // (b = 0xffffffff)
a >>= 5; //(a = 0x07ffffff)
b >>= 5; // (b = 0xffffffff)
追问我说的是左移,不是右移
追答哦, 好吧. 左移就在右边加0, 左边按位移出. 可能会把符号位移走.
int a = -1; // (a = 0xffffffff)
int b = -2147418113; // (b = 0x8000ffff)
a <<= 5; //(a = 0xffffffe0)
b <<= 5; // (b = 0x001fffe0, 符号位被移走了