文章

408

粉丝

0

获赞

0

访问

106.8k

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

1):因为此时n-1等于FFFFFFFF,在unsigned下是最大值,不会此时程序发现i>-1,不会进入for循环;

2):相等,f1此时是00FFFFFF,f2此时是467FFFFF;

3):因为float单精度的尾数部分加上隐藏位才24位,但f2(24)此时会有25位尾数会对其进行舍去,而f1中int可以表示31位数(不含符号位),此时并未超出;

4):此时f1的数据是FFFFFFFF,补码表示,此时数值就是-1;最大的n是30;

5):2^(128),此时表示无穷大;最大的n是126,结果精确此时n最大为23


评分及理由

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

学生回答错误。学生认为n=0时不会进入循环,但标准答案指出n=0时n-1为无符号最大值(0xFFFFFFFF),条件i<=n-1永真,导致死循环。学生未理解无符号整数比较的语义,且未回答第二部分(改为int型不会死循环的原因)。扣4分。

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

学生回答部分正确。学生正确指出返回值相等,但f1(23)的机器数错误(应为00FFFFFF,学生写对),f2(23)的机器数错误(标准答案为4B7FFFFF,学生写为467FFFFF,阶码和尾数均不正确)。扣2分,得1分。

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

学生回答正确。学生解释了float尾数仅24位(含隐藏位),而f(24)需要25位,导致舍入后数值增大。与标准答案一致。得1分。

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

学生回答部分正确。学生正确解释f1(31)返回-1的原因(机器数为0xFFFFFFFF,补码解释为-1),并正确给出最大n=30。但未说明int型表示范围(最大为2^31-1)。扣0.5分,得1.5分。

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

学生回答部分正确。学生正确指出f2(127)对应无穷大(但未写+∞),并正确给出不溢出的最大n=126和精确的最大n=23。但数值2^(128)描述不准确(应为+∞)。扣0.5分,得2.5分。

题目总分:0+1+1+1.5+2.5=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发