计算机系统:数据表示与运算实验

本文详细介绍了在64位Ubuntu 18.04系统中进行计算机数据表示与运算实验的过程,包括实验目的、所需环境及实验内容。实验主要涉及使用C语言的位操作符来实现特定功能的函数,通过`dlc`和`btest`工具检查代码的编码规则和功能正确性。实验步骤清晰,要求遵循严格的编码规则,如禁止使用控制构造、宏定义等,并提供了若干函数模板供学生完成实验任务。
摘要由CSDN通过智能技术生成

一、实验目的

1.更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。

2. 加深对数据二进制编码表示的了解。

3. 使用有限类型和数量的运算操作实现一组给定功能的函数。

二、实验仪器设备/实验环境

1.Linux操作系统—64位 Ubuntu 18.04

2. C编译环境(gcc)

3. 计算机

三、实验内容

本实验每位学生拿到一个datalab-handout.tar文件。学生可以通过U盘、网盘、虚拟机共享文件等方式将其导入到Ubuntu实验环境中,选择合适位置存放。然后在Ubuntu环境下解压(tar -xvf …)。解压后,根据文件中的叙述和要求更改bits.c文件,其他文件不要动。本次实验的主要操作方式为:使用C语言的位操作符实现题目要求。

实验步骤:

1. 使用dlc检查函数实现代码是否符合实验要求的编码规则。

首先是将压缩包拖进虚拟机,将压缩包解压,然后编辑bits.c   代码在最后面附上。

cd....进入文件夹,输入./dlc bits.c检测是否有错误,如下图:

 输入:  ./dlc -e bits.c  无问题情况如下图:

以下是有问题:

2、使用 btest 检查函数实现代码的功能正确性。

a) 首先使用make编译生成btest可执行程序,部分warning不需要特殊处理,但如果出现的warning过多则需要适当注意是否程序中有错误。(以下是正确的情况)

如果输入make报下面错的话:(可能是没有gcc编辑环境) 

安装gcc环境:

sudo apt update     先更新

sudo apt install build-essential

gcc --version       查看gcc版本 

sudo apt-get install gcc-multilib     

(输入以上命令应该就可以了)

b)  然后调用 btest 命令检查 bits.c中所有函数的功能正确性。

(完美收工,快去做实验吧!!冲冲冲)

bits.c代码:

/* 
 * CS:APP Data Lab 
 * 
 * <Please put your name and userid here>
 * 
 * bits.c - Source file with your solutions to the Lab.
 *          This is the file you will hand in to your instructor.
 *
 * WARNING: Do not include the <stdio.h> header; it confuses the dlc
 * compiler. You can still use printf for debugging without including
 * <stdio.h>, although you might get a compiler warning. In general,
 * it's not good practice to ignore compiler warnings, but in this
 * case it's OK.  
 */

#if 0
/*
 * Instructions to Students:
 *
 * STEP 1: Read the following instructions carefully.
 */

You will provide your solution to the Data Lab by
editing the collection of functions in this source file.

INTEGER CODING RULES:
 
  Replace the "return" statement in each function with o

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值