一道计算机二级C语言真题 求解 如图 这是笔试题 所以不要直接给我个答案 说让我运行程序

没有过程的就不要回答了... 没有过程的就不要回答了 展开
 我来答
tmfengxin1
2013-03-03 · TA获得超过623个赞
知道小有建树答主
回答量:344
采纳率:0%
帮助的人:107万
展开全部
这个题的考点就是 移位运算符('<<' 和 '>>')

<< 是左移运算符
>> 是右移运算符
运算符后的数字就表示需要移动的位数

比如,a<<2,就表示把a的2进制值向左移动2位。
简单的说,每向左移动一次,相当于在原来的十进制值乘以2。

因此这个题,相当于将a向左移动3位,答案就是12*2*2*2=96
百味人生独自行
2013-03-03 · TA获得超过242个赞
知道小有建树答主
回答量:819
采纳率:0%
帮助的人:423万
展开全部
a<<2 表示a 左移两位,数值上相当于a的十进制数乘以4
a<<n 数值上相当于a的十进制数乘以2的n次方
a>>n 数值上相当于a的十进制数除以2的n次方
所以答案楼主自己算吧。。。
追问
我是把a的十进制转换成二进制了  然后再移   但是算出来不对  是思路错了吗
追答
木有必要转换成二进制啊,规则我都告诉你了,左位移相当于乘法,右位移相当于除法啊,按你的方式没错,但是费劲死了。。。我做完这道题只需要几秒钟,你做完需要一分多钟。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xzf0306
2013-03-03 · TA获得超过149个赞
知道答主
回答量:60
采纳率:0%
帮助的人:79.7万
展开全部
a的二进制为 0000 0000 0000 1100
左移2位后: 0000 0000 0011 0000
左移1位后: 0000 0000 0110 0000,十进制即为:96
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不再静止
2013-03-03
知道答主
回答量:43
采纳率:0%
帮助的人:19.9万
展开全部
12换成二进制为1100,
所以a<<2表示a右移两位,为110000,然后再将110000右移一位,为1100000.所以c=1100000.
1100000转换成十进制为96.答案为D

请采纳。不懂得可以问我,我做过二级C语言的兼职老师
追问
<< 这个符号不是左移吗?
追答
额,我打错了,我是按照左移来算的,呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式