西南交大计算机组成原理A上机作业:VS201X调试实践与IEEE754浮点数探索

需积分: 5 4 下载量 75 浏览量 更新于2024-08-04 收藏 686KB DOC 举报
西南交通大学2022-2023学年的“计算机组成原理A”课程要求学生进行三次上机作业,旨在加深他们对计算机硬件与软件交互的理解。第一次作业重点是让学生熟悉Visual Studio 201X的调试工具,包括菜单中的“调试-窗口-监视”功能,用于观察和理解C++语言中的数据类型和机器数表示。 作业内容涉及以下几个关键知识点: 1. 机器数表示与C++数据类型的关系:学生需要使用8位补码表示的整数`char c1`, `char c1c`, `char c1h`, 8位无符号整数`unsigned char uc1`, 和32位整数`int i`。通过实例`c1 = -100`,展示如何将十进制数值转换为十六进制机器数,以及负数的机器补码表示。例如,`c1c`代表`c1`的补码负数,`c1h`是`c1`右移一位后的结果。 2. 内存地址的查看:在程序中设置断点后,学生需要观察变量的内存地址,这有助于理解变量存储在内存中的位置。如对变量`i`的内存地址进行查看,并分析内存区域的连续性。 3. 内存区域的数值查看:除了变量自身的值,还需要查看从变量`i`开始的连续内存单元的数值,这可能涉及到位操作和内存管理的基础知识。 第二次作业则转向了IEEE 754浮点数的表示,要求学生使用C++编写代码,通过设置断点并使用“调试-窗口-监视”来验证浮点数的表示和计算的正确性。作业可能涉及对2-20和2-21(3)(7)题目的复核,这通常涉及到浮点数的存储格式(如32位单精度或64位双精度)、舍入规则和异常处理。 核心代码应包含定义和初始化浮点数变量,以及对这些变量的操作,如读取、修改其值或内存单元内容。学生需要了解如何获取浮点数变量的内存地址,并据此检查其机器数表示,确保理解和掌握浮点数在计算机内部的表示方式。 完成这些上机作业有助于学生们深入理解计算机组成原理,尤其是数字逻辑、指令系统和程序执行的底层细节。通过实践操作,他们能将理论知识转化为实际技能,为后续的编程和系统设计打下坚实基础。