实验二 数据表示实验
更新时间:2024-04-19 02:26:01 阅读量: 综合文库 文档下载
- 实验二小推荐度:
- 相关推荐
深圳大学实验报告
课程名称:计算机系统(2)
实验项目名称:数据表示实验 学院: 专业:
指导教师:罗秋明
报告人:学号:班级:
实验时间:2017年3月31日
实验报告提交时间:2017年4月13日
教务处制
一、实验目标:
1. 了解各种数据类型在计算机中的表示方法 2. 掌握C语言数据类型的位级表示及操作
二、实验环境:
1. 计算机(Intel CPU) 2. Ubuntu Linux操作系统
三、实验内容与步骤
1、根据bits.c中的要求补全以下的函数: int bitXor(int x, int y); int tmin(void); int isTmax(int x); nt allOddBits(int x); int negate(int x);
int isAsciiDigit(int x);
int conditional(int x, int y, int z); int isLessOrEqual(int x, int y); int logicalNeg(int x); int howManyBits(int x);
unsigned float_twice(unsigned uf); unsigned float_i2f(int x); int float_f2i(unsigned uf);
深圳大学学生实验报告用纸
2、在Linux下测试以上函数是否正确,指令如下: *编译:./dlc bits.c *测试:make btest
./btest
四、实验结果
1.int bitXor(int x, int y);
由离散数学逻辑命题逻辑可得,异或如下:
2.int tmin(void);
最小值为0x8000 0000,由1左移31即可得到:
3. int isTmax(int x);
最大值为0x7fff ffff,加一会变为0x10000000,而此数加上本身后会变为0,本身加本身为0的数只有0和0x1000 0000,故而再将0xffffffff排除即可
深圳大学学生实验报告用纸
4.int allOddBits(int x);
只有所有奇数位为1的数(二进制),与0x5555 5555进行&运算才会得到0,故而需要得到0x5555 5555即可,将0x5分别左移4、8、16、24得到4个数,然后将这四个数和0x5相加即可得到0x5555 5555
5.int negate(int x);
取反加1即可
6.int isAsciiDigit(int x);
x需要>=’0’且<=’9’,将x与临界点作差,然后判断符号位的为0还是1即可
深圳大学学生实验报告用纸
7.int conditional(int x, int y, int z);
首先使用t=!x,当x为0时返回1,当x不为0时,返回0,根据题意得到( _ &y)|( _ &z),首先空1,当x不为0,即t=0时,需要t转换为0xffffffff(-1),当t=1时,需要将t转换为0x0(0),,将t-1即可,得到空1为“!x+~1+1”,同理空2为“~!x+1”
8.int isLessOrEqual(int x, int y);
直接用y-x可能会超出int的表示范围,故而:
A、在x与y同号的情况下转换为p=y-x>=0,然后p符号位(p>>31)&1为0则返回1,符号位1则返回0;
B、异号时,只要x>=0,就要返回0,否则返回1,由(x>>31)&1能达到该效果; C、 c=a+b可作为x,y同号异号的判断。
深圳大学学生实验报告用纸
9.int logicalNeg(int x);
令y=~x+1,考虑x与y的符号位: A. 当x为0时,两者符号位都为0; B. 当x=0x8000 0000时,两者符号位都为1; C. 否则,两者符号位为01或10; D. 根据离散数学的真值表得出(~x)&(~y).
10.int howManyBits(int x);
深圳大学学生实验报告用纸
11.unsigned float_twice(unsigned uf);
深圳大学学生实验报告用纸
12. unsigned float_i2f(int x);
A.用(二进制)科学计数法表示int型数时,尾数位数<=23,例如0x00008001,此时将0x8001左移24-16=8位得到frac,而exp则127+16-1;
B.当尾数位数>23时,找到位数最末一位记作x[i],然后对尾数的舍去分3种情况考虑,初始化c=0:
a) 当x[i-1]=1且x[i-2]、x[i-3]?x[0]都为0(即要偶端舍入情况),且x[i]=1,令c=1(此处frac若是全为1,则会导致frac+c超出范围,这是bug,当还是通过了);
b) 当x[i-1]=1且x[i-2]、x[i-3]?x[0]不都为0,令c=1(与a存在同样的bug); c) 除a、b的情况,c=0;
C.其他特殊情况再考虑一下就好了;
深圳大学学生实验报告用纸
13. int float_f2i(unsigned uf);
exp为0,x=(-1)^s*0.frac*2^(-126);否则x=(-1)^s*1.frac*2^(exp-127)分情况考虑: A.根据float转为int是向0舍入的情况,当exp=0或者exp<127(由exp-127<0得到); B.令exp_sign=((exp>>23)-127)>=0,根据x=(-1)^s*1.frac*(exp-127), a) exp_sign=0,x=1.x[22]x[21]…x[0]-->x=1; b) exp_sign=1,x=1x[22].x[21]…x[0]-->x=1x[22];
c) exp_sign=2,x=1x[22]x[21].x[20]…x[0]-->x=1x[22]x[21]; d) exp_sign=23,x=1x[22]x[21]x[20]…x[0]-->x=1x[22]x[21]…x[0]
e) exp_sign=30,x=1x[22]x[21]x[20]?x[0]-->x=1x[22]x[21]?x[0]0?0(共31位)
f) exp_sign=32,x=1x[22]x[21]x[20]?x[0]-->x=1x[22]x[21]?x[0]0?0(共32位),此时,因为int为有符号,只有0x0000 00000能被表示出来,其他都是NAN; C.当exp_sign=((exp>>23)-127)>=33,NAN
深圳大学学生实验报告用纸
深圳大学学生实验报告用纸
最终截图:
深圳大学学生实验报告用纸
五、实验总结与体会
此次实验主要考查的是对数据的处理,对此需要掌握数据在机器中的表示,运用合理的位运算来实现相应的功能。
通过此次实验,我更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。尤其是加深对数据二进制编码表示的了解。通过使用有限类型和数量的运算操作实现一组给定功能的函数来提高了我对数据表示方面的C语言编程能力。
深圳大学学生实验报告用纸
指导教师批阅意见: 成绩评定: 指导教师签字:罗秋明 2017年4月10日 备注: 注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
正在阅读:
实验二 数据表示实验04-19
恩敏舒肽敏舒对比测评10-22
脚手架的品种及分类 - 图文11-02
2001年中央、国家公务员录用考试《公共基础知识》试题及答案11-14
森林植被恢复方案10-22
师德师风建设承诺书及保证书10-24
家长写给初中孩子的寄语【5篇】03-26
我的1919观后感04-02
公共关系学试题与答案04-17
- 计算机试题
- 【2012天津卷高考满分作文】鱼心人不知
- 教育心理学历年真题及答案--浙江教师资格考试
- 20180327-第六届“中金所杯”全国大学生金融知识大赛参考题库
- 洪林兴达煤矿2018年度水情水害预测预报
- 基本要道讲义
- 机电设备安装试运行异常现象分析与对策
- 《有机化学》复习资料-李月明
- 非常可乐非常MC2--非常可乐广告策划提案 - 图文
- 2011中考数学真题解析4 - 科学记数法(含答案)
- 企业人力资源管理师三级07- 09年真题及答案
- 基于单片机的光控自动窗帘控制系统设计说明书1 - 图文
- 20160802神华九江输煤皮带机安装方案001
- (共53套)新人教版一生物必修2(全册)教案汇总 word打印版
- 2014行政管理学总复习
- 中国银监会关于加强地方政府融资平台贷款风险监管的指导意见
- 民宿酒店核心竞争与研究
- 游园活动谜语大全2012
- 河南省天一大联考2016届高三英语5月阶段性测试试题(六)(A卷)
- 小型超市管理系统毕业论文详细设计4
- 实验
- 表示
- 数据
- 扎实推进落实岗位责任制
- 必修三第二单元《古代中国的科学技术与文化》知识点详解
- 印尼公司法中文版
- IDC数据中心建设合同 - 图文
- 机械设计实验报告
- 哈工大单片机实验报告(上传)
- 仪表工题库精简版
- 教辅材料管理专项整治工作总结
- 东北大学19春学期《水文地质学基础》在线作业1(答案)
- 手工钨极氩弧焊通用工艺规程
- “启航行动”学习心得体会
- 关于“安全生产”的议论文
- 第十四讲 激励(二)与领导风格
- jquery Treetable例子
- 中国古代文学史(3)复习要点
- 大陆媒体人利益角逐的常规路径 - 广州三大报业集团
- 高考复习方案(新课标 湖北省专用)2015届高考语文一轮复习 随身
- 有机化学各大名校考研真题第十二,十三章
- 初中化学教材全解(人教版)
- 2014年小学升初中摸底考试语文试题