设机器数字长16位,有一个C语言程序段如下: int n=0xA1B6, unsigned int m=n; m=m>>1; //m右移一位 机内数据按大端方式存储,则在执行完该段程序后,m在机器内存里的结构为( )。

admin2021-08-17  20

问题 设机器数字长16位,有一个C语言程序段如下:
int n=0xA1B6,
unsigned int m=n;
m=m>>1;    //m右移一位
    机内数据按大端方式存储,则在执行完该段程序后,m在机器内存里的结构为(    )。

选项 A、50DBH
B、BD05H
C、A186H
D、DODBH

答案A

解析 本题考查无符号数的逻辑移位运算。A186H作为无符号数,使用逻辑右移,最高位补0。1010 0001 1011 0110右移一位得0101 0000 11011011,即50DBH。
    注意:无符号数的移位方式为逻辑移位,不管是左移还是右移,都是添0。而有符号数的移位操作会因为数字在机器中存储形式(原码、补码等)的不同而进行不同操作。
转载请注明原文地址:https://kaotiyun.com/show/EP3i777K
0

相关试题推荐
随机试题
最新回复(0)