ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:1.27MB ,
资源ID:14604815      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14604815.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验二数据表示实验Word格式.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验二数据表示实验Word格式.docx

1、 报告人: 学号: 班级: 实 验 时 间: 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

2、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);

3、由离散数学逻辑命题逻辑可得,异或如下: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相加即可得到0x

4、5555 55555.int negate(int x);取反加1即可6. int isAsciiDigit(int x);x需要=0且=0,然后p符号位(p31)&1为0则返回1,符号位1则返回0;B、 异号时,只要x=0,就要返回0,否则返回1,由(x1能达到该效果;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 howMa

5、nyBits(int x);11. unsigned float_twice(unsigned uf);12. unsigned float_i2f(int x);A.用(二进制)科学计数法表示int型数时,尾数位数23时,找到位数最末一位记作xi,然后对尾数的舍去分3种情况考虑,初始化c=0:a) 当xi-1=1且xi-2、xi-3x0都为0(即要偶端舍入情况),且xi=1,令c=1(此处frac若是全为1,则会导致frac+c超出范围,这是bug,当还是通过了);b) 当xi-1=1且xi-2、xi-3x0不都为0,令c=1(与a存在同样的bug);c) 除a、b的情况,c=0;C.其他特

6、殊情况再考虑一下就好了;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或者exp127(由exp-12723)-127)=0,根据x=(-1)s*1.frac*(exp-127),a) exp_sign=0,x=1.x22x21x0-x=1;b) exp_sign=1,x=1x22.x21x0-x=1x22;c) exp_sign=2,x=1x22x21.x20x0-x=1x22x21;d) exp

7、_sign=23,x=1x22x21x20x0-x=1x22x21x0e) exp_sign=30,x=1x22x21x20x0-x=1x22x21x000(共31位)f) exp_sign=32,x=1x22x21x20x0-x=1x22x21x000(共32位),此时,因为int为有符号,只有0x0000 00000能被表示出来,其他都是NAN;C.当exp_sign=(exp=33,NAN最终截图:五、实验总结与体会此次实验主要考查的是对数据的处理,对此需要掌握数据在机器中的表示,运用合理的位运算来实现相应的功能。通过此次实验,我更好地熟悉和掌握计算机中整数和浮点数的二进制编码表示。尤其是加深对数据二进制编码表示的了解。通过使用有限类型和数量的运算操作实现一组给定功能的函数来提高了我对数据表示方面的C语言编程能力。指导教师批阅意见:成绩评定: 指导教师签字: 罗秋明2017年 4月10日备注:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1