文章

63

粉丝

0

获赞

0

访问

3.2k

头像
2017年计算机学科专业基础综合试题 - 第43题回答
计算机组成原理
发布于2025年10月27日 22:14
阅读数 36

1.因为无符号数0-1=FFFFFFFFH,这不小于任何int类型无符号数,不会,因为有0-1=FFFFFFFFH在有符号数int类型中表示的是负一,初始int为0不会进入for循环

2.相等,f1(23)的返回值为00FFFFFFH,f2(23)的返回值为4B7FFFFFH

3.因为float单精度的尾数只有23位,f2(24)=2^25-1,需要的尾数精度为24位,尾数不够所以舍入了

4.因为超出了int类型的表示范围,最大的n为30

5.正无穷,不溢出最大的n为127,结果精确最大的n为23


评分及理由

(1)得分及理由(满分4分)

学生正确解释了n=0时出现死循环的原因:无符号数n-1=FFFFFFFFH(即2³²-1),条件i<=n-1永真。同时正确回答了若改为int型则不会死循环,因为n-1=-1,i=0时不满足条件。但表述中“这不小于任何int类型无符号数”存在逻辑错误,应改为“无符号数比较时0≤2³²-1永真”。扣1分。得3分。

(2)得分及理由(满分3分)

学生正确指出f1(23)和f2(23)返回值相等,且给出了正确的机器数:f1(23)=00FFFFFFH,f2(23)=4B7FFFFFH。答案完整正确。得3分。

(3)得分及理由(满分1分)

学生正确指出float尾数只有23位,f(24)需要24位精度导致舍入,但错误写成了“f2(24)=2^25-1”(应为2^25-1对应n=24?实际f(24)=2²⁵-1)。虽然计算表达式有误,但核心原因(尾数不够需舍入)正确。得1分。

(4)得分及理由(满分2分)

学生正确说明f(31)超出int表示范围(机器数全1解释为-1),并给出最大n=30。答案正确。得2分。

(5)得分及理由(满分3分)

学生正确指出7F800000H表示正无穷。但后两问答案错误:不溢出最大n应为126(学生答127),精确结果最大n应为23(学生答23正确)。第二问错误扣1分。得2分。

题目总分:3+3+1+2+2=11分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发