计算机系统基础-袁春风老师-mooc-第三章测试习题及解析

在这里插入图片描述
P4,算术逻辑部件ALU,加减和逻辑运算都行,还可以直接输出
在这里插入图片描述
在这里插入图片描述
题目说了最低有效字节,则以字节为一个排列的基本单位。
首先ff是最低的8bit,最低的8字节。(16进制的ff, 对应占据8bit,为1字节)
其次ff是0000 0000 0000 0000 0000 0000 1111 1111
高24位都是0,低8位都是1
题目要求最低有效字节不变,故X& ox FF ,可以让前面的24位都变成0,后面的就不变
在这里插入图片描述
x的最高有效字节不变,即从左开始数的8位(二进制表示下)不变,要让其余各位都变为0
x >> n-8:可以保证最高有效字节的那8位不变,最不过往右挪到底了;
然后<<n-8:又将那8位移到原来的位置,只不过此时他后面的都是0了

一句话:先把最高的8位移动到最低8位,又给它移回来
在这里插入图片描述
-8196,带符号短整型,short是16位,要转换成32位的int,说明要进行位扩展,书 P63

-8196的补码=2^13 +4 =10 0000 0000 0100 ——>取反+1:01 1111 1111 1100
因为要补成32位,前面添1(-8196是负数):1111 1111 1111 1111 1101 1111 1111 1100 ,即FFFF DFFC H
在这里插入图片描述

-69 ,补码为1011 1011
-38,补码为1101 1010
好,现在要把他们放进加减运算器里了,这里是x- y,那么请注意:不管是补码减法,还是无符号数减法,都是用被减数+减数的负数的补码来实现,也就是说还得再对减数求一次补码,即0010 0110
因为是减法,控制端sub同时作为低位进位送到加法器,故低位进位=1
不懂的可以再看看书P64页
在这里插入图片描述

在这里插入图片描述
y= -31 =- 2^5 -1 =11111,它 的补码=00001
X=63 =2^6 -1 =111111 (5个1)
x+ y =1000000=20H,没有溢出,OF=0
在这里插入图片描述

X =F5H =1111 0101
Y= 7EH =0111 1110
sub =0:
x+y =X+Y =1 0111 0011,故需要x+y -2^n =0111 0011 =115
但是这里溢出了呀,为什么OF=0呢?

通过补码可以知道,x为负数,即带符号数
书P64说:当X和Y’的最高位相同且不同于结果的最高位时,OF=1,否则OF=0,以上的情况属于否则里面的,故OF=0
选A
在这里插入图片描述

X =F5H =1111 0101
Y= 7EH =0111 1110
sub =1:
x -y =X+Y’ +1 =1111 0101+ 1000 0001 +1=0111 0111 =119
因为X和Y’的最高位为1,结果最高位为0,故OF=1

  • 1
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值