列表

详情


己知x=-31/64,若采用8位定点机器码表示,则[x]=(  ),[x]=(  )。

第 1 问

A. 01001100

B. 10111110

C. 11000010

D. 01000010

第 2 问

A. 01001100

B. 10111110

C. 11000010

D. 01000010

参考答案: B C

详细解析:

己知x=-31/64= -0.484375,将小数十进制转为二进制时,可采用的方法有两种:
第一种,小数部分乘2取整法,即反复用小数部分乘2取其整数部分的值。                 
0.484375 *2=0.96875——0
 0.96875*2=1.9375——1

0.9375*2=1.875——1

0.875*2=1.75——1

0.75*2=1.5——1

0.5*2=1.0——1

此时小数部分已经为0,乘完,可得结果为0.011111,而在计算机中,对于定点小数,默认小数位在数值位最前面,且不占二进制位,所以在计算机中用8位二进制表示 -0.484375应为:10111110(最高位的1为符号位,表示负,最低位的0是为了补齐8位二进制在小数的后面补添的0)

因此,[X]=10111110,[X]是[X]的反码+1=11000010。


第二种十进制小数转二进制的方法:

x=-31/64 =-( 1/4+1/8+1/16+1/32+1/64)=-(0.0111110)  (即分别对应1*2-2,1*2-3,1*2-4,1*2-5,1*2-6


上一题