单选题
20.
设机器数字长16位,有一个C语言程序段如下:
int n=0xA1B6;
unsigned int m=n;
m=m>>1; //m右移一位
则在执行完该段程序后,m的值为( )
A、
50DBH
B、
FFB6H
C、
A186H
D、
DODBH
【正确答案】
A
【答案解析】
无符号数的移位方式为逻辑移位,不管是左移还是右移,都是添0。
A186H作为无符号数,使用逻辑右移。1010 0001 1011 0110右移一位得0101 0000 11011011,即50DBH,故选A。
提交答案
关闭