这个题的考点就是 移位运算符('<<' 和 '>>')
<< 是左移运算符
>> 是右移运算符
运算符后的数字就表示需要移动的位数
比如,a<<2,就表示把a的2进制值向左移动2位。
简单的说,每向左移动一次,相当于在原来的十进制值乘以2。
因此这个题,相当于将a向左移动3位,答案就是12*2*2*2=96
a<<2 表示a 左移两位,数值上相当于a的十进制数乘以4
a<
所以答案楼主自己算吧。。。
a的二进制为 0000 0000 0000 1100
左移2位后: 0000 0000 0011 0000
左移1位后: 0000 0000 0110 0000,十进制即为:96
12换成二进制为1100,
所以a<<2表示a右移两位,为110000,然后再将110000右移一位,为1100000.所以c=1100000.
1100000转换成十进制为96.答案为D
请采纳。不懂得可以问我,我做过二级C语言的兼职老师