华科计算机原理及应用实验报告,华科_计算机系统实验报告.doc

华科_计算机系统实验报告课案

课 程 实 验 报 告

课程名称: 计算机系统基础

专业班级:

学 号:

姓 名:

指导教师:

报告日期: 年 月 日

计算机科学与技术学院

目录

实验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 位操作题目列表

级别函数名功能约束条件最多操作符数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”表示仅能使用任何整型/无符号整型操作,包括||,&&以及if,while控制结构30

1.3 实验设计

根据题目要求,选择合适的操作符来编写代码。

具体设计参考实验过程中的代码注释。

1.4 实验过程

阅读相应的函数要求,利用合适的操作符编写代码。如下:

lsbZero函数:

图1.1

byteNot函数:

图1.2

byteXor函数:

图1.3

logicalAnd函数:

图1.4

logicalOr函数:

图1.5

rotateLeft函

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值