已知x=-105/128,若采用8位机器码表示,则[x]补= ( ) 。

2023-09-01

A.10010111
B.11010101
C.11101010
D.10100111

参考答案:A

这一类型的题目考查的知识点是小数的原码和补码的表示方法。在机器码的表示中,小数的表示方法是:数的最左面是符号位,对于原码、反码或补码,如果该小数是正数,则该符号位为0,如果该小数是负数,则该符号位为1;其余各位为该小数的数据位,从左起,第2位的权值为1/2,第3位的权值为1/4,依此类推。解答此类题目的一般思路是:将给定的分式分解成多个分式之和的形式,每个分式的分子为1,分母为2的幂次,这样可以确定其原码表示。而使用补码表示一个小数时,只要将该数除符号位之外求反,然后加1,就可以得到该数的补码表示。针对这道题目,由于x=-105/128=-(64/128+32/128+8/128+1/128)=-(1/2+1/4+1/6+1/128)。根据上面的分析,可以确定x的原码为11101001。对原码求反(符号位不变)后的值为10010110,加1得到该数的补码为10010111。所以本试题的正确答案是选项A。

相关推荐