知道计算机第二章答案,计算机系统第2章习题解答.doc

计算机系统第2章习题解答

第二章习题解答

[习题2.2]

[解答]

在尾数采用补码、小数表示且p=6,阶码采用移码、整数表示且q=6,尾数基rm为16,阶码基re为2的情况下:

最大尾数为:

最小正尾数为:

最小尾数为:

最大负尾数为:

这个数的符号位是1,数据位是1110(这是数据位的第一个数因为是补码,规格化数不能和符号位相同,所以不能是全1111,但是又必须保证在补码中最大,所以是1110),1111,1111,1111,1111,1111(由于是补码,所以数越大,其真值越小,才能保证是最大负尾数),所以总的数据是1110,1111,1111,1111,1111,1111,然后取反加1,得到它的真值为0001,0000,0000,0000,0000,0001.所以最终结果是-0.100001HEX

最大阶码为:

最小阶码为:

最大正数为:

最小正数为:

最大负数为:

最小负数为:

浮点零为:

通过上面的计算,我们可以知道浮点零的范围如下:

表数精度为:

表数效率为:

能表示的规格化浮点数个数为:

[习题2.3]

[解答]

对于IEEE754的32位单精度浮点数:

如果不把正的无穷数计算在内,那么最大正数为:

最小正数为:

最大负数为:

如果不把负的无穷数计算在内,那么最小负数为:

由于有隐藏位,所以表数精度为:

但当e=0时,由于隐藏位不在起作用,所以表数精度可能不同。

尾数的基数是2,但由于采用了隐藏位,所以表数效率为100%。

对于IEEE754的64位单精度浮点数:

如果不把正的无穷数计算在内,那么最大正数为:

最小正数为:

最大负数为:

如果不把负的无穷数计算在内,那么最小负数为:

由于有隐藏位,所以表数精度为:

但当e=0时,由于隐藏位不在起作用,所以表数精度可能不同。

尾数的基数是2,但由于采用了隐藏位,所以表数效率为100%。

[习题2.5] 一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。尾数用原码、纯小数表示,阶码用移码、整数表示。

设计这种浮点数的格式

计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。

[解答]

为了方便和提高精度,我们取尾数和阶码的基都为2,即:

根据表示数精度的要求:

于是可以取p=24;

根据表示数范围的要求:

因此可以取q=7

数据格式可以表示如下(尾数采用隐藏位):

1位1位7位23位符号阶符阶码尾数

(2)能够表示的最大正数:(1-2-24)2127,

能够表示的最大负数:-2-129,

表示数的精度:2-24,

表数效率:100%。

[习题2.6]

[解答]

在两种标准下面,0.2分别表示为:

IBM标准:

编码为:

IEEE754标准:

编码为:

(3)略,注意两种标准表数的范围和表数的精度是不相同的。

[习题2.10]

[解答]

我们可以计算出数据的大致数量:

1000条指令访问的数据总数为1000*2=2000个;

每个数据平均访问8次,所以,不同的数据个数为:

对于A处理机,所用的存储空间的大小为:

对于B处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为:

由此我们可以看出,由于数据的平均访问次数要大于指令,所以,通过改进数据的格式来减少指令的长度,可以减少总的存储空间大小。

[习题2.14] 一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。

要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。

设计8字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址范围不小于±127。请设计指令格式,并给出各字段的长度和操作码的编码。

[解答]

要使得到的操作码长度最短,应采用Huffman编码,构造Huffman树如下:

0 1 0 1

0 1

0 1

0 1

0 1

由此可以得到7条指令的编码分别如下:

指令号出现的频率编码135%00225%01320%10410%11055%1110

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值