在32位计算机上执行下列C语言代码,则ui的真值为short si=-32767;unsigned int ui=si;

【正确答案】 D
【答案解析】

-32767的16位补码为1000 0001 0000 0001,转换为32位无符号整数时符号位变为数值位,结果为2³²-2¹⁵+1(即D选项)。