c语言中<<=与<<的区别

c语言中<<=与<<的区别
c语言中<<=与<<的区别
c语言中<<=与<<的区别

举例来说:
x << 1 得到的结果是左移1位后的值,它被保存在一个临时变量中,与x无关,即x的值不变。
x <<= 1 相当于 x = x << 1,是将x左移1位以后的值保存回x中,x发生了变化。
其实就好比说:
x + 10 得到比x大10的值——在临时变量中,但x不变。
x += 10 则是x增大10,x变了。

如有帮助,还请帮忙点下采纳!感谢!

麻烦采纳一下,你的采纳,是对我最好的鼓励,谢谢!
在C语言中 <<与<<=只有一个区别就是作用不同。

C语言中的>>和<<分别是左移运算符和右移运算符,用于整数在二进制形式的移位运算;

关系运算符用于比较运算。包括大于(>)、小于(<)、等于(==)、大于等于(>=);小于等于(<=)和不等于(!=)六种。

在C语言中x<<=1等于x=x<<1,是把x左移1位以后值保存回x里,x发生变化了。

举个例子你就明白了。像&=,+=,|=这些比较常用一点儿。比如 int a; a +2 与 a+=2;效果是不一样的,a+2,并未改变a的值,但是a+=2,效果等于a = a+2;a的值实际上是增加了2. 所以<<也是一样的,a<<2这句只是一个运算,就是a左移2位,但是并未改变a的值,但是a<<=2,相当于 a = a<<2,改变了a的值
就像是 int x = 1;x +1;这时x的值并没有改,但是x+=1,代表x加了1,这时X= 2;