在C语言中,short型的长度为16位,若编译器将一个short型变量x分配到一个32位寄存器R中,且X=0x8FA0,则R的内容为( )。

admin2019-12-10  34

问题 在C语言中,short型的长度为16位,若编译器将一个short型变量x分配到一个32位寄存器R中,且X=0x8FA0,则R的内容为(    )。

选项 A、0x00008FA0
B、0xFFFF8FA0
C、0xFFFFFFA0
D、0x80008FA0

答案B

解析 本题考查补码数的符号扩展。将16位有符号数扩展成32位有符号数,符号位不变,附加位是符号位的扩展。这个数是一个负数,而选项A表示正数,选项C数值部分发生变化,选项D用0来填充附加位,所以只有选项B正确。
    注意:符号扩展的方法根据机器数的不同而不同,见下表所示。
转载请注明原文地址:https://jikaoti.com/ti/nHDjFFFM
0

最新回复(0)