已知带符号整数用补码表示,float型数据用IEEE754表示,假定变量$x$的类型只可能是int或者float,当$x$的机器数为C800 0000H时,$x$的真值可能是()。
A.
B.
C.
D.
【分析】第一步,C800 0000=1100 1000 0000 0000 0000 0000 0000 0000,共32位。
第二步,将“第一步”中的数视为float。根据IEEE754标准的float格式:
1:数的符号为1,表示它是负数。
10010000=128+16, 减去偏置值127,阶码为17。
剩余23个0:实际上是1.000 0000 0000 0000 0000, 也就是-1。
所以,这个float数是。
第三步,将“第一步”中的数视为int, 则是一个数的补码。
1:数的符号1,表示它是负数。
10010......0:将其转为原码,01110....0000=
所以,这个int数是-。