华科_计算机系统实验报告精要.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华科_计算机系统实验报告精要

课 程 实 验 报 告 课程名称: 计算机系统基础 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 年 月 日 计算机科学与技术学院 目录 实验1: 1 实验2: 7 实验3: 24 实验总结 34 实验1: 数据表示 1.1 实验概述 实验目的:更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。 实验目标:加深对数据二进制编码表示的了解。 实验要求:使用有限类型和数量的运算操作实现一组给定功能的函数。 实验语言:c。 实验环境:linux 1.2 实验内容 需要完成bits.c中下列函数功能,具体分为三大类:位操作、补码运算和浮点数操作。 1)位操作 表1列出了bits.c中一组操作和测试位组的函数。其中,“级别”栏指出各函数的难度等级(对应于该函数的实验分值),“功能”栏给出函数应实现的输出(即功能),“约束条件”栏指出你的函数实现必须满足的编码规则(具体请查看bits.c中相应函数注释),“最多操作符数量”指出你的函数实现中允许使用的操作符的最大数量。 你也可参考tests.c中对应的测试函数来了解所需实现的功能,但是注意这些测试函数并不满足目标函数必须遵循的编码约束条件,只能用做关于目标函数正确行为的参考。 表1 位操作题目列表 级别 函数名 功能 约束条件 最多操作符数 1 lsbZero 将x的最低有效位(LSB)清零 仅能使用! ~ ^ | + 5 2 byteNot 将x的第n个字节取反(字节从LSB开始到MSB依次编号为0-3) 仅能使用! ~ ^ | + 6 2 byteXor 比较x和y的第n个字节(字节从LSB开始到MSB依次编号为0-3),若不同,则返回1;若相同,则返回0 仅能使用! ~ ^ | + 20 3 logicalAnd x y 仅能使用! ~ ^ | + 20 3 logicalOr x|| y 仅能使用! ~ ^ | + 20 3 rotateLeft 将x循环左移n位 仅能使用! ~ ^ | + 25 4 parityCheck 若x有奇数个1,则返回1;否则,返回0 仅能使用! ~ ^ | + 20 2)补码运算 表2列出了bits.c中一组使用整数的补码表示的函数。可参考bits.c中注释说明和tests.c中对应的测试函数了解其更多具体信息。 表2 补码运算题目列表 级别 函数名 功能 约束条件 最多操作符数 2 mul2OK 计算2*x,如果不溢出,则返回1,否则,返回0 仅能使用~ ^ | + 20 2 mult3div2 计算(x*3)/2,朝零方向取整 仅能使用! ~ ^ | + 12 3 subOK 计算x –y,如果不溢出,则返回1,否则,返回0 仅能使用! ~ ^ | + 20 4 absVal 求x的绝对值 仅能使用! ~ ^ | + 10 3)浮点数操作 表3列出了bits.c中一组浮点数二进制表示的操作函数。可参考bits.c中注释说明和tests.c中对应的测试函数了解其更多具体信息。注意float_abs的输入参数和返回结果(以及float_f2i函数的输入参数)均为unsigned int类型,但应作为单精度浮点数解释其32 bit二进制表示对应的值。 表3 浮点数操作题目列表 级别 函数名 功能 约束条件 最多操作符数 2 float_abs 返回浮点数‘|f|’的二进制表示,当输入参数是NaN时,返回NaN 仅能使用任何整型/无符号整型操作,包括||,以及if,while控制结构 10 4 float_f2i 返回浮点数‘f’的强制整型转换“(int)f”表示 仅能使用任何整型/无符号整型操作,包括||,以及if,while控制结构 30 1.3 实验设计 根据题目要求,选择合适的操作符来编写代码。 具体设计参考实验过程中的代码注释。 1.4 实验过程 阅读相应的函数要求,利用合适的操作符编写代码。如下: lsbZero函数: 图1.1 byteNot函数: 图1.2 byteXor函数: 图1.3 logicalAnd函数: 图1.4 logicalOr函数: 图1.5 rotateLeft函数: 图1.6 parityCheck函数: 图1.7 mul2OK函数: 图1.8 mult3div2函数: 图1.9

文档评论(0)

10577 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档