c++语言中左移位赋值是什么意思
2个回答
展开全部
例如:
m = 1;
m <<= 2;意思就是把m左移两位后,再赋值给m。原来m的二进制数值是0001,左移两位后就变成了二进制的0100,也就是十进制的4,所以结果是m=4。
所以可以看出左移一位,相当于原来的数值乘以2,左移n位,就相当于乘以了2的n次方。
扩展资料:
移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。
左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。
右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。
参考资料来源:百度百科-移位运算符
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询