计算机系统:数据表示与运算实验_upperbits-程序员宅基地

技术标签: ubuntu  linux  计算机系统ubuntu  

一、实验目的

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 -

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/AfeiyuO/article/details/120913726

智能推荐

Python自动化操作pywinauto_python pywinauto-程序员宅基地

文章浏览阅读5.4k次,点赞8次,收藏38次。Python自动化操作(pywinauto)_python pywinauto

vmware虚拟机运行速度卡慢原因分析及解决办法大全(二)_虚拟机打开主机2文件很慢怎么办-程序员宅基地

文章浏览阅读7.8w次,点赞28次,收藏169次。 很多人在使用虚拟机系统的时候,经常对虚拟机的运行速度不甚满意,甚至经常很恼火。虚拟机速度慢有很多原因,每个人需要根据自己的情况具体分析,本文根据笔者的使用经验将从17个方面进行分析和总结,以期能尽量优化虚拟机的运行速度。 本文是本专题的第二篇文章,上一篇文章请戳这里《vmware虚拟机运行速度卡慢原因分析及解决办法大全(一)》6、分辨率 显示性能也是影响虚拟机速度的重要因素,在不影响工作的..._虚拟机打开主机2文件很慢怎么办

SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 12-13: truncated \_(unicode error) 'unicodeescape' codec can't decode-程序员宅基地

文章浏览阅读475次,点赞6次,收藏5次。问题记录。转义字符 \ 、文件读写。_(unicode error) 'unicodeescape' codec can't decode bytes in position 12-13:

【机器学习系列】MCMC第一讲:蒙特卡罗方法初认识_机器学习 蒙特卡罗-程序员宅基地

文章浏览阅读369次。作者:CHEONG公众号:AI机器学习与知识图谱研究方向:自然语言处理与知识图谱阅读本文之前,首先注意以下两点:1. 机器学习系列文章常含有大量公式推导证明,为了更好理解,文章在最开始会给出本文的重要结论,方便最快速度理解本文核心。需要进一步了解推导细节可继续往后看。2. 文中含有大量公式,若读者需要获取含公式原稿Word文档,可关注公众号【AI机器学习与知识图谱】后回复:MCMC第一讲,可添加微信号【17865190919】进学习交流群,加好友时备注来自CSDN。原创不易,转载请告知并注..._机器学习 蒙特卡罗

C语言把100除以二重复10次,c语言经典案例100题.doc-程序员宅基地

文章浏览阅读430次。c语言经典案例100题c语言经典案例100题cdcd./c语言经典程序100例 - 笔记 - 周欢 - CSDN学生大本营 - Powered by UCenter Home首页资讯研发移动云计算空间学生论坛博客下载网摘程序员外包书店CTO俱乐部TUP培训充电高校club《 - 》日一二三四五六000000000000000000000000000000000000000000点 分2020..._求100除2十次方c语言

ThingJS官方示例(九):通过CityBuilder转出的url开发3D地图脚本_citybuilder地图怎么导出-程序员宅基地

文章浏览阅读1.3k次。#前端开发##3D可视化##物联网#明确虚拟场景的位置Citybuilder导出二次开发基础参数配置与修改CityBuilder(城市级场景搭建工具)使用起来足够简单,非常符合设计人员的使用习惯,那么,辛辛苦苦做好的城市级场景,如何交付给开发,在后续的环节中灵活使用?ThingJS平台早就考虑到了这个问题,统一了平台数据,支持CityBuilder转出url;平台加载地图组件之后,即可轻松二次开发。下面我们就来解析使用步骤,有任何问题请留言。明确虚拟场景的位置三维地球立足于世界坐标系,城_citybuilder地图怎么导出

随便推点

mysql隐式转换导致的索引失效分析_数据库隐式转换 索引失效-程序员宅基地

文章浏览阅读606次。本次测试使用的 MySQL 版本是 5.7.26,随着 MySQL 版本的更新某些特性可能会发生改变,本文不代表所述观点和结论于 MySQL 所有版本均准确无误,版本差异请自行甄别。原文:https://www.guitu18.com/post/2019/11/24/61.html前言数据库优化是一个任重而道远的任务,想要做优化必须深入理解数据库的各种特性。在开发过程中我们经常会遇到一些原因很简单但造成的后果却很严重的疑难杂症,这类问题往往还不容易定位,排查费时费力最后发现是一个很小的疏忽造成的,._数据库隐式转换 索引失效

R︱并行计算以及提高运算效率的方式(parallel包、clusterExport函数、SupR包简介)-程序员宅基地

文章浏览阅读3.3k次,点赞4次,收藏9次。终于开始攻克并行这一块了,有点小兴奋,来看看网络上R语言并行办法有哪些: 赵鹏老师(R与并行计算)做的总结已经很到位。现在并行可以分为: 隐式并行:隐式计算对用户隐藏了大部分细节,用户不需要知道具体数据分配方式 ,算法的实现或者底层的硬件资源分配。系统会根据当前的硬件资源来自动启动计算核心。显然,这种模式对于大多数用户来说是最喜闻乐见的。 显性并行:显式计算则要求用户能够自己..._clusterexport

exe文件:electron设置窗口默认最大化(默认全屏)_electron窗口最大化-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏3次。exe文件:electron设置窗口默认最大化(默认全屏)_electron窗口最大化

使用C++语言实现哈希表查找_c++判断哈希表中是否存在-程序员宅基地

文章浏览阅读148次。这里采用了一种简单的哈希函数,将字符串中的每个字符乘以一个较大的质数,并累加起来作为哈希值。这种哈希函数的优点是简单快速,但是由于没有考虑字符串的分布规律,容易导致哈希冲突。这里先使用哈希函数计算出关键字应该插入的位置,在对应的链表中查找是否已经存在该关键字,如果不存在,则将关键字插入到链表的末尾。这里同样使用哈希函数计算关键字的位置,在对应的链表中查找是否存在该关键字,如果存在,则返回true,否则返回false。方法将一个字符串映射到整数,该方法通常需要满足一定的分布特性,以保证尽可能少的哈希冲突。_c++判断哈希表中是否存在

操作系统及软件常用的日语单词-程序员宅基地

文章浏览阅读357次。"Out Look"中的日语单词メールメッセージ 邮件 ニュースメッセージ 新闻邮件 インスタントメッセージ 即时邮件 フォルダ 文件夹 連絡先 联系人 添付ファイルの保存 保存附件 ひな形として保存 另存为信纸 最適化 ...

探索Transformer-MM-Explainability:深度学习可解释性新纪元-程序员宅基地

文章浏览阅读399次,点赞3次,收藏9次。探索Transformer-MM-Explainability:深度学习可解释性新纪元项目地址:https://gitcode.com/hila-chefer/Transformer-MM-Explainability在人工智能领域,特别是自然语言处理(NLP)中,Transformer模型已经成为主导,但其内部运作机制的黑箱特性一直困扰着开发者和研究人员。现在,让我们一起走进Transfor..._可解释性 开源项目

推荐文章

热门文章

相关标签