文章
119
粉丝
0
获赞
1
访问
9.0k
评分及理由
(1)得分及理由(满分4分)
学生正确解释了n=0时n-1的机器码为全1(即FFFFFFFFH),导致无符号比较时条件永真,因此死循环;并指出若改为int型,则n-1为-1,循环条件不成立,不会死循环。答案与标准一致,但学生使用了“移位”一词(可能是识别错误或笔误),但核心逻辑正确,不扣分。得4分。
(2)得分及理由(满分3分)
学生指出f1(23)和f2(23)返回值相等,正确;f1(23)的机器数给出为00FFFFFFH(标准答案为00FFFFFFH,但学生写为00 FFFF FFFH或00FFFFFFH,均为正确十六进制表示);f2(23)的机器数第一次识别为4137FFFFFH(错误),第二次识别为4B7FFFFFFFH(多了一个F,但4B7FFF...接近标准答案4B7FFFFFH,可能是识别误差)。由于机器数部分错误,扣1分。得2分。
(3)得分及理由(满分1分)
学生解释因float尾数23位,而f(24)需要24位存储,导致溢出(实际是舍入问题,但“溢出”表述不准确),但基本思路正确(精度不足导致不相等)。得1分。
(4)得分及理由(满分2分)
学生正确解释f(31)超出int范围,机器码为FFFFFFFFH时解释为-1;并指出最大n为30。答案与标准一致。得2分。
(5)得分及理由(满分3分)
学生正确指出7F800000H对应+∞;但对于最大n值,第一次识别给出n=127(错误),第二次识别也给出127(错误),标准答案应为n=126(不溢出)和n=23(精确)。两部分均错误,扣2分(不溢出部分扣1分,精确部分扣1分)。得1分。
题目总分:4+2+1+2+1=10分
登录后发布评论
暂无评论,来抢沙发