左移右移并不会改变原值,例如 int a = 1;a<<2;printf("%d", a); //输出还是1 如果你问的是 int a=1;a=a<<2;a=a>>2;那么最终a的值还是1 但是如果溢出了就移不回来了