文章
59
粉丝
0
获赞
0
访问
1.6k

评分及理由
(1)得分及理由(满分4分)
学生正确解释了当 n=0 时,n-1 为无符号数最大值导致死循环的原因,并指出若改为 int 型则不会死循环,因为此时 n-1 为 -1,循环条件不成立。但学生将 n-1 的十六进制值写为 FFFFFFFFH(32 位全 1),这本身正确,但未明确说明这是 unsigned 型比较导致条件永真,表述稍简略。第二问回答正确。整体逻辑正确,扣 1 分(表述不够完整)。
得分:3 分
(2)得分及理由(满分3分)
学生回答 f1(23) 和 f2(23) 返回值相等,正确。但给出的机器数均错误:f1(23) 应为 00FFFFFFH(即 2^24-1),学生写为 001FFFFFH;f2(23) 应为 4B7FFFFFH,学生第一次识别为 4AFFFFFEH,第二次为 4AFFFFFFH,均不正确。机器数错误属于核心计算错误,扣 2 分。
得分:1 分
(3)得分及理由(满分1分)
学生回答“因为 f2(24) 产生了进位”,表述过于简略,未明确说明 float 只有 24 位有效位导致舍入后数值增大。但基本指出了舍入/进位导致不相等,可给分。
得分:1 分
(4)得分及理由(满分2分)
学生正确解释 f1(31) 返回 -1 是因为补码表示,但未说明 f(31) 超出 int 表示范围。第二问学生回答 n=31 错误,应为 n=30。第二问完全错误,扣 1 分。
得分:1 分
(5)得分及理由(满分3分)
第一问:学生回答 f2(127) 对应值为 2^128,错误,应为 +∞。第二问:学生回答最大 n=126,正确。第三问:学生回答最大 n=23,正确。第一问错误扣 1 分。
得分:2 分
题目总分:3+1+1+1+2=8分
登录后发布评论
暂无评论,来抢沙发