文章
101
粉丝
38
获赞
0
访问
3.3k

评分及理由
(1)得分及理由(满分4分)
学生答案正确解释了n=0时死循环的原因:n为unsigned型,n-1得到无符号32位全1(最大值),条件永真。同时正确说明了若改为int型则不会死循环,因为n-1=-1,条件不成立。答案完整且与标准一致。得4分。
(2)得分及理由(满分3分)
学生正确指出f1(23)和f2(23)返回值相等,并给出了正确的机器数十六进制表示:f1(23)为00FF FFFF H(标准答案为00FF FFFFH,末尾H位置不同但不影响含义),f2(23)为4B7F FFFF H(标准答案为4B7F FFFFH,同样H位置差异可忽略)。答案正确。得3分。
(3)得分及理由(满分1分)
学生正确解释了f2(24)因float尾数只有24位有效位(含隐藏位)而发生舍入,导致与f1(24)不相等。理由与标准答案一致。得1分。
(4)得分及理由(满分2分)
学生正确指出f1(31)返回-1的原因是32位全1作为int型补码解释为-1,并正确给出使f1(n)返回值与f(n)相等的最大n值为30。答案完整正确。得2分。
(5)得分及理由(满分3分)
学生正确指出f2(127)对应的值为无穷大,并正确给出使f2(n)不溢出的最大n为126,使结果精确的最大n为23。所有部分均与标准答案一致。得3分。
题目总分:4+3+1+2+3=13分
登录后发布评论
暂无评论,来抢沙发