文章
117
粉丝
160
获赞
0
访问
3.8k

评分及理由
(1)得分及理由(满分4分)
学生答案正确解释了当 n=0 时,n-1 作为无符号数变为全1(最大值),导致循环条件永真,因此死循环。改为 int 型后,n-1 为 -1,循环条件不成立,不会死循环。但学生表述“若为无符号数,i=0>-1,直接跳出循环”存在逻辑混乱(混淆了无符号与有符号比较),不过整体思路正确。扣1分。
得分:3分
(2)得分及理由(满分3分)
学生正确指出 f1(23) 和 f2(23) 返回值相等,且给出了机器数,但机器数书写不完整(缺少部分十六进制位)。标准答案为 f1(23): 00FFFFFFH(6位十六进制),f2(23): 4B7FFFFFH(8位十六进制),学生只写了部分,可能是识别问题。鉴于核心判断正确,但机器数不完整,扣1分。
得分:2分
(3)得分及理由(满分1分)
学生正确解释了 float 只有24位有效位,而 f(24) 需要25位,因此发生舍入导致不相等。答案正确。
得分:1分
(4)得分及理由(满分2分)
学生正确解释了 f1(31) 返回32位全1(即 -1),并指出使 f1(n) 与 f(n) 相等的最大 n 为30。答案正确。
得分:2分
(5)得分及理由(满分3分)
学生正确指出机器数 7F800000H 表示 +∞,并给出了使结果不溢出的最大 n=126 和使结果精确的最大 n=23。答案正确。
得分:3分
题目总分:3+2+1+2+3=11分
登录后发布评论
暂无评论,来抢沙发