实验05 - 位运算 - 实验报告 - 2015版

更新时间:2023-11-23 09:39:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

浙江大学城市学院 计算学院

浙江大学城市学院实验报告

课程名称 计算机系统原理实验 实验项目名称 实验五 位运算

学生姓名 专业班级 学号 实验成绩 指导老师(签名 ) 日期

注意:

? 务请保存好各自的源代码,已备后用。 ? 请把作业同时上传到BB平台和FTP。

? 文件名为:学号_姓名_日期_实验几,如30801001_姓名_20100305_实验01 ? ftp://10.66.28.222:2007 huommupload 123456

一、实验目的:

了解高级语言中数据类型的转换和移位操作结果,从而能更好地理解指令系统设计和计算机硬件设计所需满足的要求和需要考虑的问题;

二、实验内容:

1、编写程序,完成实验讲义中的类型转换; 2、编写程序,测试xor_swap函数;

3、编写程序,测试并修改reverse_array函数;

三、实验步骤:

1、编写程序,完成满足实验内容1的C语言表达式,并输出验证。 源代码:

运行结果:

2、编写程序,实现实验内容2中的类型转换,并解释程序运行结果。 源代码:

运行结果:

浙江大学城市学院 计算学院

对运行结果的解释:

3、编写测试程序test1.c,调用实验内容3中的xor_swap函数,并使用gdb工具调试程序,查看每步执行结果。 源代码:

调试过程截图展示:

对每步运行结果的解释:

4、编写测试程序test2.c,调用实验内容4中的reverse_array和实验内容2中的xor_swap函数,并使用gdb工具调试程序,查看每步执行结果,回答实验内容3中的问题,并修改程序使之正确。 源代码:

调试过程截图展示:

对每步运行结果的解释:

修改后的reverse_array代码:

修改后的程序运行结果:

四、思考题(必做)

1、

无符号数和带符号整数的扩展操作方式是否相同?各是如何进行的?

浙江大学城市学院 计算学院

2、 3、 4、 5、 6、

补码整数(如int型数)是否总能转换为等值的float类型数据?为什么? float型数据是否总能转换成等值的double型数据?为什么? 长数被截断成短数后可能发生什么现象?为什么? C语言中移位操作规则与操作对象的数据类型有关吗? 左移2位和右移2位操作分别相当于扩大和缩小几倍?

本文来源:https://www.bwwdw.com/article/03yt.html

Top