c语言a=a<<1和a=a<<0的区别

如题所述

a << n;表示将a的值的二进制数向左移动n位,比如a = a << 2;,等同于 a = 4 * a;,但操作速度上a << 2要比4 * a快。
a = a << 1; 效果等同于 a = 2 * a,a = a << 0; 效果等同于 a = a;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-16
<<是左移运算符
a = a<<1表达的是a 先左移一位,然后赋值给a
a = a<<0表达的是a = a
第2个回答  2015-05-16
如a=2,第一个左移一位就是4,第二个不移动,还是2
第3个回答  2015-05-16
第一个表示.a左移一位赋值给a后一个则为a追问

后一个是不是变是不偏移 1的时候才偏移啊

追答

对的,是这个意思。

第4个回答  2015-05-16
55