华科_计算机系统实验报告教程.docVIP

  • 183
  • 0
  • 约1.45万字
  • 约 37页
  • 2017-05-04 发布于湖北
  • 举报
华科_计算机系统实验报告教程

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

文档评论(0)

1亿VIP精品文档

相关文档