c语言 a<<=1与a<<1的区别:
1、运算符号的含义不同
<<=是左移赋值运算符,a<<=b是把a的二进制数左移b位,然后把结果赋值给a;
<<是左移运算符,a<
2、运算结果不同
a<<=1表示把左边运算数a的二进制数进行左移1位运算,然后把计算的结果赋值给a,会改变a的值;
a<<1表示把左边运算数a的二进制数进行左移1位运算,不改变a的值。
3、a<<=1和a<<1运算后的a的值不一样
举例说明:
a<<=1例子:假设a为11100101,那么进行左移1位运算后结果为11001010,然后把这个值赋值给a,那么a就变为11001010。
a<<1例子:假设a为11100101,那么进行左移1位运算后结果为11001010,但是a的值不变还是为11100101。
扩展资料:
<<、=运算符在C语言中的功能:
1、<<的功能
把“<<”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。如a<
2、=的功能
对对象进行赋值,如a=b,则a的值为b。在c语言中也常常将赋值运算符=与其他的运算符结合起来,表示按照优先级顺序处理对象后,再对对象进行赋值。
参考资料:百度百科-C语言运算符