文章
314
粉丝
1
获赞
107
访问
61.4k

评分及理由
(1)得分及理由(满分4分)
学生正确解释了当 n=0 时,由于 i 和 n 是无符号数,n-1 变为 2³²-1,导致循环条件永真,出现死循环。同时也正确说明了若改为 int 型,则 n-1 为 -1,循环条件不成立,不会死循环。答案与标准答案一致,逻辑完整。得4分。
(2)得分及理由(满分3分)
学生指出 f1(23) 与 f2(23) 返回值相等,正确。但给出的机器数有误:f1(23) 应为 00FFFFFFH(即 0x00FFFFFF),学生写为 0xFFFFFFFFH,这是错误的(0xFFFFFFFF 对应 -1 或 2³²-1,而非 f(23) 的值);f2(23) 应为 4B7FFFFFH,学生写为 4BFFFFFFH,尾数部分错误。由于机器数完全错误,扣2分。得1分。
(3)得分及理由(满分1分)
学生回答“f2(24) 发生了精度丢失”,虽然表述简略,但指出了 float 精度不足导致舍入,与标准答案意思一致。得1分。
(4)得分及理由(满分2分)
学生指出 f1(31) 发生溢出,正确;并给出使 f1(n) 与 f(n) 相等的最大 n 为 30,正确。但学生误写为“与 f2(n) 相等”,根据上下文可判断为笔误,不扣分。得2分。
(5)得分及理由(满分3分)
学生第一问中,第一次识别结果给出机器数 7F800000H 并分析符号位、阶码、尾数,但描述“故 t2(127) 对应正常”不准确;第二次识别结果给出 7F800001H 并分析为正无穷,两次识别不一致。标准答案为 +∞,学生第二次识别正确(正无穷),但机器数写错(应为 7F800000H,不是 7F800001H)。由于问题要求“对应的值是什么”,学生答出正无穷即可,机器数笔误不扣分。第二问给出不溢出的最大 n=126,正确;第三问给出精度不缺的最大 n=23,正确。得3分。
题目总分:4+1+1+2+3=11分
登录后发布评论
暂无评论,来抢沙发