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

免费题库2022-08-02  90

问题 已知x= -97/128,若采用8位机器码表示,则[x]补= (  )。A.11100001B.10011111C.11100000D.10011110

选项 A.11100001
B.10011111
C.11100000
D.10011110

答案 B

解析 -97/128,换算成小数-0.7578125换算成2进制原码,共8位机器码。负数符号位用1表示,占用一位,那么数值位只要计算7位就够了。10进制小数换算成2进制小数方法是将该十进制数乘以2,去乘积整数部分,得到转换后的二进制小数的第一位,然后将乘积部分的小数部分在乘以3,乘积整数部分作为二进制小数的第二位,如此反复,知道乘积的小数部分为0或则到达指定的要求位数即可。我们把-0.7578125的10进制换算成2进制:
0.7578125*2=1.515625   1
0.515625*2=1.03125 1
0.03125*2=0.0625  0
0.0625*2=0.1250
0.125*2=0.25  0
0.25*2=0.5  0
0.5*2=1   1
那么换算成2进制的小数部分为1100001,再加上其负数的符号位1,在转成8位机器码的时候,小数点去掉,原码为11100001。此数值的补码就是反码加1,而反码则为负数符号位保持不变,其余数值位取反,1 0011110,然后加1就变成补码,1 0011110+1=10011111
转载请注明原文地址:https://tihaiku.com/congyezige/2431919.html

最新回复(0)