计算机组成原理习题分析——第二章处理方法和运算器

本文详细介绍了如何进行二进制整数的原码、反码和补码转换,特别是负数的情况,以及浮点数的表示方法,包括32位浮点数的最大最小值和IEEE754标准的转换。此外,还探讨了变形补码计算中可能的溢出情况以及浮点数的运算。
摘要由CSDN通过智能技术生成


类型一 给出整数的十进制表示,要求写出原码、反码、补码(8位二进制数)。

1.写出下列各整数的原码、反码、补码表示(用8 位二进制数)。其中 MSB 是最高位(符号位),LSB

是最低位。

(1)-35 (2)-128 (3)-127(4)-1

我的解法:

一、信息

十转二进制

二、分析

(1)根据规则我们可以先把数字转化为原码然后再转化为反码还有补码。

(2)首先要回忆自己关于计算机进制转化的这方面知识库,首先要看这个整数时正数还是负数如果是正数那么正数的原码反码补码相同,如果是负数,那么就会有,原码即整数的二进制表示,反码就是原码符号位不变然后按位取反,补码就是再反码基础上加一。

(3)回忆了上诉规则后按照正确步骤就能得到正确答案;

三、步骤

(1)-35👍

原码=1.0100011(-35的2进制表示)

反码=1.1011100

补码=1.1011101

(2)-128

正确答案:

原码不存在,超出了可表示的最小值-127.


错误答案:

原码=1.1000000(这个是错误的原因是由于8位中有一位是符号位,只剩下7位最小表示到-127,此时已经超出范围了,感谢大佬:银河系双子座指正,欢迎多多指出本人的不足,不断交流发现问题解解决问题这是个很有趣的过程)


反码=1.0111111

补码=1.1000000

(3)-127❌(原因很明显把64+32加错了)

原码=1.0111110

反码=1.1000001

补码=1.1000010

(4)-1👍

原码=1.0000001

反码=1.1111110

补码=1.1111111

总结:

类型二 给出一个二进制数给出一定条件然你推理出剩下的每位数字的取值

2. 设[x]补=a7a6a5....a0,其中ai取0或1,若要x>-0.5,求a0,a1,a2,…a6的取值。

一、信息

  1. 从a0到a7告诉我有八位数

  1. ai取0或者1

  1. x>-0.5题目条件

  1. 求a0到a6本题求解最终目标

二、分析

  1. 条件1告诉我有几个数

  1. 条件2告诉我该数是二进制数

  1. x>0.5题目给得条件应该让我通过该条件推理排除一些答案

  1. 首先在a7没确定的情况下x有两种可能故需要分类讨论的方法,一种是正数一种是负数,如果是正数符号位为0那么必定恒大于负数-0.5,那么即a6到a0任取,若为负数符号位为1,回忆二进制进制转换的小数方向表示,从左到右依次是那么通过观察不难发现,当在小数点的左边第一个数字即a6的位置上的必定不会是1因为如果这里为1就等于0.5了后面无论加什么数都不满足条件,因此在此排除了a6=1的可能性那么a6只能等于0了,接下来我们通过计算发现a5一直到a0无论如何加起来都不大于0.5因此后面的数就可以任取了。

三、步骤

那么该如何4分析出来的结果转化成答案呢?

正确答案:

反思:

类型三 字长32位浮点数可表示范围

  1. 有一个字长为了32位的浮点数,符号位1位,阶码8位。用移码表示,尾数23位;用补码表示:基数为2.请写出

(1)最大数的二进制表示,(2)最小数的二进制表示:(3)规格化数所能表示的数的范围,

类型四 把十进制数表示成IEEE754标准的32位浮点规格化数。

将下列十进制数表示成 IEEE754标准的 32 位浮点规格化数。

(1)27/64 (2)-27/64

一、信息

  1. 十进制数

  1. 表示成IEE754标准

  1. 32位浮点规格数

二、分析

  1. 条件1告诉我们题目给出的都是十进制数

  1. 条件2告诉我们标准,疑问但是什么是IEE754标准呢?这就不得不回顾计算机组成原理专栏中的2.1数据与文字的表示方法了。

解答:

  1. 条件3告诉我位数是32位

三、步骤

  1. 首先先把上面的两题的分数转化成2进制表示(具体方法看我计算机引论后续文章)

分别为(1)——(00.011111)2(2)—— (10.011111)2

  1. 然后根据规则

(1)0 00000000 00000000000000000000000000.011111

(2)1 00000000 0000000000000000000000000.0111111

四、具体答案

五、演算或检查

六、对答案

(1)x1=

(2)x2=

七、分析错因

  1. 首先忘了浮点数要通过移位把小数点移动到最高有效位

  1. 其次要先确定E即移了几位e=-2即向右移位然后套公式E=e+127然后转化为二进制表示0111 1101

  1. M不要记录小数点左边的1然后补全数字就得到了

八、反思总结归纳

类型5 用变形补码计算x+y判断是否溢出

5.已知大和y,用变形补码计算xy,同时指出结果是否滥出

(1)x=11011,y=00011 (2)x=11011,y=-00011 (3)x=-10110,y=-00001

八、总结归纳

方法:

首先要先确定了

但是有几点不同,首先

1=-10101 (36--10110,白2

类型呢6 用变形补码X-Y,同时指出结构是否溢出

6.已知和y,用变形补码计算5y,同时指出结果是否滋出

y=-00001

(1x=11011,

1=-11111

(2)x=10111,

=11011

7 再原码阵列乘法器、补码阵列乘法器分別计算sxy京% !

-10011

没有

Dx-11011,

1=-11111 (②)x=-11111,

=-11011

8,用原码阵列除法器计算x二,(注:先乘1个比例因子变成小数)。

(1) x=11000,

=-11111

(②x=-01011,

y=11001

g,设阶码了位,尾数6位,按浮点运算方法,完成下列取值的Lxty,Lx-y运算:

1)¢=2 -01×0.100101,

1=2-010× (0.011110

(2) ==2-101 × (-0.010110),

1=2-100× (0.010110)

10.设数的阶码了位,尾数6位,用浮点运算方法,计算下列各式:

(0) 2x T6.

1-294-

(2) 2-2 x-

13): (2x.

16

11. 某加法器进位链小组信号为 CACCCr, 低位来的进位信号为 C,请分别按下述两种方式写出

CAC,CC 的逻辑表达式:

(①)串行进位方式:(2)并行进位方式

0 l100 00

12. 用IEEE 32 位浮点格式表示如下的数:

①=5②-1.5≤③384 (4) 1/16 (⑤)-1/32

Ollool01

13.下列各数使用了 IEEE 32 位浮点格式,相等的十进制是什么?

(1)1 10000011 110 0000 0000 0000 0000 0000

7

wealty

(2)0 01111110 101 0000 0000 0000 0000 0000

东1114.32 位格式最多能表示 232个不同的数。用 IEEE 32位浮点格式最多能表示多少不同的数?为

什么?

15. 设计一个带有原码阵列乘法器(使用芯片)和原码阵列除法器(使用芯片)的定点运算器。

16. 设计一个 ALU(4位),完成加、减、取反、取补、逻辑乘、逻辑加、传送、加1等8种运算功能。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值