单选题 假定编译器规定int和short类型长度分别为32位和16位,执行下列C语言语句
unsigned short x=65530;
unsigned int y=x;
得到y的机器数为______。
【正确答案】 B
【答案解析】[解析] 将一个16位unsigned short转换成32位形式的unsigned int,因为都是无符号数,新表示形式的高位用0填充。16位无符号整数所能表示的最大值为65535,其十六进制表示为FFFFH,故x的十六进制表示为FFFFH-5H=FFFAH,所以y的十六进制表示为0000 FFFAH。
排除法:先直接排除C、D,然后分析余下选项的特征。由于A、B的值相差几乎近1倍,可采用算出0001 0000H(接近B且好算的数)的值,再推断出答案。