C语言中的语句a>>=2是什么意思,比如a=10101110 ,那么最终的值多少

C语言中的语句a>>=2是什么意思,比如a=10101110,那么最终的值多少C语言中的语句a>>=2是什么意思,比如a=10101110,那么最终的值多少... C语言中的语句a>>=2是什么意思,比如a=10101110 ,那么最终的值多少C语言中的语句a>>=2是什么意思,比如a=10101110 ,那么最终的值多少 展开
 我来答
White_MouseYBZ
2019-10-03 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6973万
展开全部
>>=只对整数管用,右移后面的数字那么多位,再将结果赋给左边的变量。a>>=2就是将变量a的值右移2位再将结果赋给a。意义与“将a的值除以4并将结果赋给a”等价——右移多少位,效果就是除以2的多少次方。
听不清啊
高粉答主

2019-10-03 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:2亿
展开全部
C语言中的语句a>>=2,就是把a的二进制值的最后2位抹掉。
比如a=10101110,经过a>>=2后,a的值就是101011。
追问
还是感觉十分别扭,两个运输符怎么可以挨着
追答
两个运算符是可以挨着的。a>>=2等价于a=a>>2
这很常见:

x+=a;
y-=b;
…………
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linjunlzy
2019-10-03 · TA获得超过1319个赞
知道小有建树答主
回答量:668
采纳率:82%
帮助的人:346万
展开全部
你这给的是十进制。右移两位,十进制上相当于除以4,所以结果是10101110/4。
你要表示二进制,可以在C语言里用16进制。

int a = 0xae;//10101110
a>>=2;
printf("%x",a);//结果为0x2b---00101011
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pieryon
2019-10-03 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166876
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
就是把a的右移2位,前面补充2个零,
最终结果是00101011
追问
还是感觉十分别扭,两个运输符怎么可以挨着
追答
习惯就好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-10-03
展开全部
右移存在最左边补位问题,值得注意
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式