北京大学计算机系统导论期中考试答案解析:小端与大端、数据类型与运算符

版权申诉
5星 · 超过95%的资源 2 下载量 96 浏览量 更新于2024-08-20 1 收藏 1.33MB PDF 举报
北京大学的《计算机系统导论》期中考试包含了多道与计算机体系结构、数据类型、运算符优先级以及调试技巧相关的题目。首先,关于计算机内存布局,题目1考察了大端(Big-Endian)和小端(Little-Endian)存储方式的区别。在x86架构下,小端模式中,变量的低字节存储在低地址,而Sun机器则是大端模式,高字节在低地址。因此,选项A正确,表示小端模式下的存储顺序。 第二题涉及的是整型和无符号整型的运算。题目要求判断表达式的正确性。选项A是正确的,因为int类型中0x80000000(二进制表示为10000000000000000000000000000000)的相反数仍然是自身,因为它是正溢出。选项B正确,因为将负数-1强制转换为unsigned会得到一个很大的数值。选项C通过左移运算符验证,z左移三位等于z乘以8。选项D也正确,因为两个计算结果在有符号和无符号情况下都被视为unsigned,所以结果相等。 第三题是关于浮点数的近似取整。题目给出了两个浮点数x和y的小数部分,根据舍入规则,x的小数部分刚好在半精度点上,向下取整为1.00,y的小数部分在半精度点之上,向上取整为1.10,所以答案是D,即1.001和1.10。 最后一题涉及到编程调试实践, BombLab是一个示例项目,通常在使用GDB(GNU调试器)进行调试时,先使用`gdb bomb`启动调试器,然后为了防止意外,会在设置好环境后使用`ru`(run)或`r`(run to line)命令执行程序,但题目未提供完整选项,可能需要结合上下文进一步判断。如果是要运行到指定函数,那么可能是`br`(break)加上函数名`explode_bomb`,然后`go`(continue)来执行。 这些题目全面覆盖了计算机系统的基础知识,包括数据组织、类型转换、浮点运算和调试技术,是理解计算机硬件与软件交互的重要环节。学习者在解答这些问题时,不仅能掌握基本概念,还能锻炼实际操作技能。