
c语言中>>=是什么意思
展开全部
>>移位运算符,右移。
>>=就类似于+=这个符号,比如说,我们经常会用到a+=b,意思就是a=a+b,>>=的意思也是一样
就比如说a>>=就是a=a>>b,具体的例子来说如下:
将00001100向左移三位(<<3),结果为01100000(十进制96);
将00001100向右移三位(>>3) ,结果为00000001(十进制1);
>>=就类似于+=这个符号,比如说,我们经常会用到a+=b,意思就是a=a+b,>>=的意思也是一样
就比如说a>>=就是a=a>>b,具体的例子来说如下:
将00001100向左移三位(<<3),结果为01100000(十进制96);
将00001100向右移三位(>>3) ,结果为00000001(十进制1);
展开全部
移动运算符.
c语言有两个移位运算符:左移<<,右移>>
如有变量x,值是8,内存中二进制补码是00001000
如果有x>>=3,x在内存中变为00000001,值成了1
.在VC中,右移时,左边补符号位,比如11100000(-32),右移三位后成了11111100(-4)
可以看到,右移有除法功能:8/(2^3)=1,;-32/(2^3)=-4;
也就是说,x>>=n等效于x/=pow(2,n)
当然,右移还有其它用途.
左移相反,不过右边总是补零,如00001000<<2,表达式的值是00100000
PS:浮点数不能作移位运算
c语言有两个移位运算符:左移<<,右移>>
如有变量x,值是8,内存中二进制补码是00001000
如果有x>>=3,x在内存中变为00000001,值成了1
.在VC中,右移时,左边补符号位,比如11100000(-32),右移三位后成了11111100(-4)
可以看到,右移有除法功能:8/(2^3)=1,;-32/(2^3)=-4;
也就是说,x>>=n等效于x/=pow(2,n)
当然,右移还有其它用途.
左移相反,不过右边总是补零,如00001000<<2,表达式的值是00100000
PS:浮点数不能作移位运算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部

你对这个回答的评价是?
展开全部
a>>=b;相当于a=a>>b;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学了一年c表示从来没看到过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询