解答:约定字长8位
[x]补 =00.101110b
[y]补 =00.100100b
[x]补+[y]补 =01.010010b
双负号位为01, 正向溢出,进位标志为CF=1
x+y = CF+0.010010b =1.01001b
解:
[x]补=0010111 [y]补=0010010
则 [x]补 0010111
+[y]补 0010010
0101001
两个符号位出现“01”,表示正溢出,即结果大于+2^n
原码求补码
求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
解:
[x]补=0010111 [y]补=0010010
则 [x]补 0010111
+[y]补 0010010
0101001
两个符号位出现“01”,表示正溢出,即结果大于+2^n
解答第一个问题:约定字长8位
[x]补 =00.101110b
[y]补 =00.100100b (+
--------------------------------------
[x]补+[y]补 =01.010010b
双负号位为01, 正向溢出,进位标志为CF=1,
x+y = CF+0.010010b =1.01001b
.
第二个问题:
是否要求用浮点数方式运算? 若是,要求阶码多少位? 字长多少位?