参考答案: 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)