左位移不能正确地工作2<< (X-1)

时间:2014-10-10 21:54:12

标签: c

我不理解C中左按位移位的以下行为:

int x=0;
int y = 2 << (x-1);
// y is now 0

使用相同的编译器,此表达式按预期计算:

int y = 2 << (0-1);
// y is now 1

0 个答案:

没有答案