单选题
17.考虑以下C语言代码:
vc short si=—8196;
unsingned short usi=si;
执行上述程序段后,usi的值为( )。
【正确答案】
D
【答案解析】首先,求得—8196的补码表示为1 101 1 1 1 1 1 1 1 1 1 100,赋值给usi后,由于usi为无符号数,所以将二进制1101 1111 1111 1100转换为十进制为57340。技巧:FFFFH的二进制应该记住,为65535。然后减去3个0对应的权值,分别为8192、2、1,即最后的结果为65535—8192—2—1=57340。