c++语言中左移位赋值是什么意思

如题所述

例如:

m = 1;

m <<= 2;意思就是把m左移两位后,再赋值给m。原来m的二进制数值是0001,左移两位后就变成了二进制的0100,也就是十进制的4,所以结果是m=4。

所以可以看出左移一位,相当于原来的数值乘以2,左移n位,就相当于乘以了2的n次方。

扩展资料:

移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。

左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。

右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。

参考资料来源:百度百科-移位运算符

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-15
给你举个例子
m = 1;
m <<= 2;意思就是把m左移两位后,再赋值给m。原来m的二进制数值是0001,左移两位后就变成了二进制的0100,也就是十进制的4,所以结果是m=4

所以可以看出左移一位,相当于原来的数值乘以2,左移n位,就相当于乘以了2的n次方本回答被提问者采纳

c++语言中左移位赋值是什么意思
m <<= 2;意思就是把m左移两位后,再赋值给m。原来m的二进制数值是0001,左移两位后就变成了二进制的0100,也就是十进制的4,所以结果是m=4。所以可以看出左移一位,相当于原来的数值乘以2,左移n位,就相当于乘以了2的n次方。

c++语言中左移位赋值是什么意思
= 12【左移1位等效于乘以2,左移2为等效于乘以4,所以有3×4 = 12】

c++中<<=是什么意识?
左移赋值运算符。r <<=1,实际是r = r << 1,就是将r 按位(bit)左移1,然后再将左移的结果赋值给r。 具体结果依赖r的类型(char, short , long等)。举个简单的例子,如果r是char型(8bit)值为3,二进制表示为r = 0000 0011(b),左移1位(r << 1)得到变为0000 0110,然后再赋...

c++中 “<<=”符号什么意思?
<<是位左移,<<=与+=等符合赋值操作符相似,都是将运算结果给左边变量

在c++中是什么意思m=s[0]<<1;
<<是左移位运算符,比如s[0]和m均是char类型的数据等于179,写成二进制数就是10110011,这时s[0]<<1,即计算左移一位(二进制的1位),该数值变为01100110,最高位被移出了左边(被舍弃),右边补0,这个左移相当于对s[0]乘以2。结果会被赋值给m。

C++中的位运算
左移(<<)与右移(>>)运算符:左移将数据的位向左移动,右补0;右移则将数据的位向右移动,正数左补0,负数左补1。用于数据的快速乘除运算。区分位操作与逻辑操作:位操作针对内部数据位进行操作,逻辑操作则涉及真与假的逻辑判断。运算符优先级:从高到低依次为取反、左移右移、按位与、按...

c++中的&、|、^是什么意思?
a>>=b 表示把二进制a右移b位,比如:即:结果是1,再把右移结果赋值给a, 即最后a=1。<<= 同上,只不过是左移赋值。&= 是按位与之后赋值,^=是按位异或之后赋值,|=是按位或之后赋值。与,或以及异或的操作很简单:<<= 同上,只不过是左移赋值。&= 是按位与之后赋值,^=是按位异或...

C++位运算,位取反,位左移,位右移
位左移 (bits<<1) 将原值按位向左移动一位,实际上相当于乘以2。在示例中,十六进制形式即十进制为 208。位左移运算符 (<<) 实现了按位左移操作。接下来,位右移运算符 (bits>>1) 将原值按位向右移动一位,相当于除以2向上取整。在示例中,这会导致输出结果为十六进制形式即十进制为 104。

C++ ,m<<=1什么意思,前面m赋值为2
m=m<<1,就是m向左移1位,就相当乘以2.左移几位,就乘以2的几次方。希望能帮到你,谢谢。

C++中左移和右移位具体的步骤是怎么回事?
这是语言内部实现的。不过总之就是将数的对应二进制左移或者右移,移了以后空出的补零 例如int i = 5的二进制是 00000101 i>>2 右移两位--> 00000001 (左边空出的补零)i<<2 左移两位--> 00010100 (右边空出的补零)不知楼主发现没有,右移一位就相当于将原来的数除以2,左移就相当于将...

相似回答