c语言 a<<=1与a<<1有什么区别?

2022-08-01 科技 250阅读

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语言运算符

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com