设机器码的长度为8位,已知[X]原=[Y]补=1111 1111,且X和Y都是带符号的整数,则X和Y的真值分别为( )。

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

本题考查数据表示基础知识。
如果机器字长为n (即采用n个二进制位表示数据),原码表示的规则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。
[X]原=1111 1111,说明X是负数,数值部分为1111111,也就是27-1,为127,因此X等于-127。
如果机器字长为n,补码表示的规则最高位为符号位,0表示正号,1表示负号,其余的n-1位表示数值。正数的补码与其原码和反码相同,负数的补码则等于其反码(数值位的各位取反)的末尾加1。
[Y]补=1111 1111,说明Y是负数,数值部分是由0000001各位取反后(即1111110)再加1得到的,也就是说数值部分为1,所以Y等于-1。