文章
194
粉丝
0
获赞
0
访问
27.9k

评分及理由
(1)得分及理由(满分2分)
学生答案正确指出乘法可以通过加法和移位实现,并说明了多次执行加法和移位可以代替乘法。这与标准答案中“乘法运算可以通过加法和移位来实现”以及“编译器可以将乘法运算转换为一个循环代码段”的核心思想一致。因此得2分。
(2)得分及理由(满分2分)
学生答案指出控制逻辑的作用是“对加法和移位等运算循环次数的控制”。标准答案中明确提到“控制逻辑的作用是控制循环次数,还需要根据操作表控制加法和移位操作”。学生答案抓住了“控制循环次数”这一核心要点,但未提及“根据操作表控制加法和移位操作”这一细节。考虑到问题主要考察控制逻辑的核心作用(即控制循环和操作流程),且学生答案表述基本正确,因此不扣分,得2分。
(3)得分及理由(满分4分)
学生答案正确指出①执行时间最长,③执行时间最短,并给出了理由:①需要多次运算和指令转换,③可以快速得到结果。标准答案详细解释了三种情况的执行时间差异:①用软件模拟,时间最长;②用硬件乘法指令(多周期),时间中等;③用阵列乘法器(单周期),时间最短。学生答案虽然未明确区分②和③都是硬件指令但实现方式不同导致的周期差异,但正确判断了最长和最短的情况,并给出了基本正确的理由。因此得4分。
(4)得分及理由(满分5分)
本小题包含三问:乘积的十六进制表示、溢出判断、无符号乘法溢出判断方法。
第一问:学生答案给出了有符号和无符号的乘积均为“0000 0000 FFFF FFFEH”。标准答案中,对于给定的x=2^31-1, y=2,乘积应为64位,且标准答案为“00000000FFFFFFFEH”。学生答案在数字分组上略有不同(多加了空格),但数值完全正确。因此第一问正确。
第二问:学生答案正确指出“umul()不溢出, imul()溢出”,与标准答案一致。
第三问:学生答案指出“当高n位全为0时, 不溢出”,这与标准答案“若乘积高n位全为0,则无溢出”完全一致。
因此,本小题答案完全正确,得5分。
题目总分:2+2+4+5=13分
登录后发布评论
暂无评论,来抢沙发