文章

55

粉丝

0

获赞

2

访问

3.8k

头像
2017年(408)计算机学科专业基础综合试题 - 第43题回答
计算机组成原理
发布于2025年12月3日 17:46
阅读数 11


评分及理由

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

学生正确解释了当 n=0 时,由于无符号整数运算导致 n-1 为最大值,使得循环条件 i <= n-1 恒成立,从而出现死循环。同时指出若改为 int 型则不会死循环,因为此时 n-1 = -1,循环条件在 i=0 时不成立。解释基本正确,但“根据无符号数的运算规则,2³² - 1 + 1 = 0”这一句与死循环的直接关系表述稍显冗余,但不影响核心逻辑正确。因此,本题得满分4分。

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

学生回答“f1(23)和f2(23)的返回值相等”是正确的。但给出的机器数“80000001H”或“8000001H”均错误。标准答案中 f1(23) 的机器数是 00FFFFFFH(即 2^24 - 1),f2(23) 的机器数是 4B7FFFFFH。学生答案的机器数完全不对,属于核心错误。因此,本题只能给部分分数。由于判断返回值相等正确,给1分;机器数错误扣2分。得1分。

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

学生回答“f2(24)超出了float的表示范围”不准确。f2(24) 的结果并未超出 float 的表示范围(即未发生溢出),而是因为 float 的尾数有效位只有24位,而 f(24) 需要25位精确表示,因此进行了舍入,导致结果增大1。学生解释存在逻辑错误。因此,本题扣1分,得0分。

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

学生正确解释了 f(31) 超出 int 型表示范围导致 f1(31) 返回 -1,并正确指出使 f1(n) 返回值与 f(n) 相等的最大 n 是 30。答案完全正确。得满分2分。

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

学生回答 f2(127) 对应的值是“2¹²⁸”错误。标准答案为 +∞。学生给出的“使 f2(n) 的结果不溢出,最大的 n 是 126”和“使 f2(n) 结果精确,最大的 n 是 23”均正确。因此,第一问错误扣1分,后两问正确各得1分。本题得2分。

题目总分:4+1+0+2+2=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发