文章
75
粉丝
78
获赞
0
访问
4.1k

评分及理由
(1)得分及理由(满分4分)
学生正确解释了当 n=0 时,n-1 作为无符号整数变为最大值导致死循环的原因,也正确说明了若改为 int 型则不会死循环,因为带符号比较时条件不成立。答案与标准答案一致。
得分:4分
(2)得分及理由(满分3分)
学生指出返回值相等,正确。f1(23)的机器数写为“00FFFFFFH”,标准答案为“00FFFFFFH”,一致。f2(23)的机器数第一次识别为“4B7FFFFFFH”(多了一个F),第二次识别为“4B7FFFFFH”,标准答案为“4B7FFFFFH”。考虑到识别可能多写字符,且核心数值正确,不扣分。
得分:3分
(3)得分及理由(满分1分)
学生说明因超出23位尾数范围需要舍入,与标准答案意思一致。
得分:1分
(4)得分及理由(满分2分)
学生解释了f(31)超出int表示范围导致返回-1,正确。但第二问“要使f1(n)和f2(n)返回值相同,n最大23”存在逻辑错误。题目问的是“使f1(n)的返回值与f(n)相等,则最大的n是多少?”,标准答案是n=30。学生答案混淆了f1与f2的精确范围,且n=23是float精确表示的最大n,与int表示范围无关,此处属于逻辑错误,扣1分。
得分:1分
(5)得分及理由(满分3分)
第一问:学生回答“对应值2¹²⁸”,标准答案为+∞。2¹²⁸是一个具体数值,但机器数7F80 0000H表示的是单精度正无穷大,学生答案错误,扣1分。
第二问:学生回答“n最大125”,标准答案为126。计算错误,扣1分。
第三问:学生回答“n最大23”,正确。
得分:1分
题目总分:4+3+1+1+1=10分
登录后发布评论
暂无评论,来抢沙发