考虑以下C语言代码: short si=-8196; unsigned short usi=si; 执行上述程序段后,usi的值为( )。

admin2019-05-10  24

问题 考虑以下C语言代码:    short si=-8196;    unsigned short usi=si;    执行上述程序段后,usi的值为(    )。

选项 A、8196
B、34572
C、57339
D、57340

答案D

解析 此种题型已经在2012年真题中考查过。    首先,求得-8196的补码表示为1101 1111 1111 1100,赋值给usi后,由于usi为无符号数,所以将二进制1101 1111 1111 1100转换为十进制为57 340。    技巧:FFFFH的二进制为65 535,应该记住。然后减去3个0对应的权值,分别为8192、2、1,即最后的结果为65 535—8192—2一1=57 340。
转载请注明原文地址:https://jikaoti.com/ti/bbGjFFFM
0

最新回复(0)