在C语言中 <<与<<=的区别

   更新日期:2024.04.19

在C语言中 <<与<<=只有一个区别就是作用不同。

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

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

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

扩展资料

结合方向右结合(自右至左)单目运算符

!逻辑非运算符

~按位取反运算符

++自增运算符

--自减运算符

-负号运算符

(类型)类型转换运算符

*指针运算符

&地址与运算符

sizeof长度运算符



在C语言中 <<与<<=唯一的一个区别就是作用不同。

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

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

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

扩展资料:

<<、=运算符在C语言中的功能:

1、<<的功能

把“<<”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。如a<<b,则将数据a格比特位向左移b位,即左移a位就是将数据扩大至原来的2的a次方倍。

2、=的功能

对对象进行赋值,如a=b,则a的值为b。在c语言中也常常将赋值运算符=与其他的运算符结合起来,表示按照优先级顺序处理对象后,再对对象进行赋值。

结合方向右结合(自右至左)单目运算符

!逻辑非运算符

~按位取反运算符

++自增运算符

--自减运算符

-负号运算符

(类型)类型转换运算符

*指针运算符

&地址与运算符

sizeof长度运算符



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

不一样,看看逻辑运算和赋值 优先级。

直接用,别超额度就行

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网