单选题 设机器码的长度为8位,已知X、Z为带符号的纯整数,Y为带符号的纯小数,[X]=[Y]=[Z]=11111111,求出X、Y、Z的十进制真值为X={{U}} {{U}} 16 {{/U}} {{/U}},Y={{U}} {{U}} 17 {{/U}} {{/U}},Z={{U}} {{U}} 18 {{/U}} {{/U}}。
单选题
  • A.-1
  • B.127
  • C.-127
  • D.1
【正确答案】 C
【答案解析】
单选题
  • A.1/128
  • B.-1/128
  • C.-127/128
  • D.127/128
【正确答案】 B
【答案解析】
单选题
  • A.-1
  • B.127
  • C.-127
  • D.1
【正确答案】 B
【答案解析】[解析] =11111111,已知X为带符号的纯整数,它的最高位符号位是1,即该数为负;其余为数值位(1111111),数值位原码表示的十进制数为127,因此,X的十进制真值为-127。
[Y]=11111111,[Y]=10000001(取反加1)。已知Y为带符号的纯小数,它的最高位是1,即该数为负;其余为数值位,数值位原码表示的十进制数为1/128,因此,y的十进制真值为-1/128。
移码(又叫增码)是符号位取反的补码,一般用做浮点数的补码,引入移码的目的是为了保证浮点数的机器零为全0。因为[Z]=11111111,那么[Z]=01111111,符号位为0表示正,正数的补码就是它本身;数值位十进制真值为127。因此,Z的十进制真值为127。
单选题 对9位补码操作数(A5)16进行两位算术右移的结果是______。
  • A.(D2)16
  • B.(52)16
  • C.(E9)16
  • D.(69)16
【正确答案】 C
【答案解析】右移运算是将各二进制位右移2位,移到右端的低位被舍弃。对无符号数,高位补0。
例如,a=15时,a的值用二进制形式表示为00001111,舍弃低两位11,则a=00000011。
显然,某数右移一位就相当于这个数除以2,右移n位相当于除以2n
对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。如果符号位原来为1(即负数),则左边移入0还是1,取决于所用的计算机系统。移入0的称为“逻辑右移”,即简单右移;移入1的称为“算术右移”。
对9位补码操作数(A5)16,其二进制补码形式为10100101,一次算术右移为11010010,二次算术右移为11101001,十六进制形式为(E9)16