C语言 左移 右移的问题 << 或 >>

一个数左移以后,赋值给别的变量,这个数变化了没有,如果再进行一次左移,是对原来的数左移,还是在第一次左移的基础上移动例a=ox32(16进制)00110010b=a<<2... 一个数左移以后,赋值给别的变量,这个数变化了没有,如果再进行一次左移,是对原来的数左移,还是在第一次左移的基础上移动
例 a=ox32 (16进制) 0011 0010
b=a<<2
这个时候b=1100 1000 对不对
那么此时a=?

继续
c=a<<2
请问c是在原来a的初值(ox32)上移动
还是在b的基础上移动

回答越详细越好,
好的 必定加分
此时c=?
b=?
a=?
展开
 我来答
henfengduandie
2011-04-02 · TA获得超过653个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:210万
展开全部
左移 右移不会修改a本身

a=ox32 (16进制) 0011 0010
b=a<<2
这个时候b=1100 1000 对
那么此时a=0011 0010

继续
c=a<<2
请问c是在原来a的初值(ox32)上移动
这个时候c=1100 1000
tidecao2006
2011-04-02 · TA获得超过1228个赞
知道小有建树答主
回答量:842
采纳率:0%
帮助的人:789万
展开全部
a << 2 是不影响a 的值的,就像a +1不会把a值加1一样 。
a << 2只是一个表达式,返回的是表达式计算得到的值,其中并没有赋值(‘=’)操作啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
围城rsi
2011-04-02 · TA获得超过614个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:273万
展开全部
b=a<<2
这个时候b=1100 1000 对!
那么此时a=0011 0010 没变
接着
c=a<<2
c是在原来a的初值上移动,因为a没变
c=b=1100 1000
最后c=b=1100 1000
a=0011 0010
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式