c语言中>>和>>=有什么区别?
4个回答
展开全部
>>不会改变左操作数的值,>>=会改变,类似于+和+=
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
举个例子吧吧
a >> 2 这个表达式的值是a 向右移2位 后的值 但 a 的值仍不变
a >>=2 这个表达式的意思是就是 a = a >> 2
a >> 2 这个表达式的值是a 向右移2位 后的值 但 a 的值仍不变
a >>=2 这个表达式的意思是就是 a = a >> 2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
举例说明:
a = b>>3;将b的各位右移3位,其结果赋给a
a >>=3;此句等价于a = a >>3;
应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。
a = b>>3;将b的各位右移3位,其结果赋给a
a >>=3;此句等价于a = a >>3;
应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定。Turbo C和很多系统规定为补1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询