文章

62

粉丝

0

获赞

0

访问

10.0k

头像
2017年计算机学科专业基础综合试题 - 第43题回答
计算机组成原理
发布于2025年10月27日 15:32
阅读数 74

(1)
无符号32位整数0-1会变成UINT32_MAX,循环判断条件变为i<=UINT32_MAX,当i增加到UINT32_MAX时,继续+1又会回到0。
改为int型后不会出现死循环,因为0-1=-1,循环条件变为for(i = 0; i <= -1; i++),显然不会进入循环体。
(2)
相等,均为2^24 - 1。
007f ffffH
8B7f ffffH

(3)
f2(24)的结果超过了单精度浮点数的准确表示范围,出现了精度丢失。

(4)
因为2^32-1的二进制表示为全1,转换成有符号32位整数表示的数是-1。
n最大为31。

(5)
2^113
不溢出时,n最大为127。
结果精确的n最大为23。


评分及理由

(1)得分及理由(满分4分)

学生第一问回答正确,解释了无符号整数n=0时n-1变为最大值导致死循环,以及改为int型后不会死循环的原因。但未明确说明n-1的具体值(2³²-1)和比较条件永真,表述略有不足。扣1分。

得分:3分

(2)得分及理由(满分3分)

学生回答f1(23)和f2(23)返回值相等正确,但给出的机器数错误。f1(23)应为00FFFFFFH,学生写成007FFFFFH;f2(23)应为4B7FFFFFH,学生写成8B7FFFFFH(符号位错误)。机器数全错,扣2分。

得分:1分

(3)得分及理由(满分1分)

学生回答f2(24)因精度丢失导致不相等,基本正确,但未具体说明24位有效位数和舍入机制。因要点已涉及,不扣分。

得分:1分

(4)得分及理由(满分2分)

学生解释了f1(31)返回-1的原因(全1机器数解释为有符号整数),正确;但第二问最大n值回答为31错误(应为30),扣1分。

得分:1分

(5)得分及理由(满分3分)

第一问f2(127)的值回答错误(应为+∞,学生答2^113),扣1分;第二问不溢出的最大n回答错误(应为126,学生答127),扣1分;第三问精确结果的最大n回答正确(23)。

得分:1分

题目总分:3+1+1+1+1=7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发