文章
316
粉丝
0
获赞
0
访问
46.9k
1):因为可以利用移位加上加法指令来实现乘法指令,通过移位实现错位相加就可以模拟乘法过程中不同位相乘的积相加的结果。
2):1,可以判断两个乘数中是否有一个是0,如果有直接得出结果0;
2,用来控制移位错位相加的次数。
3):没有乘法指令,执行时间最长;有使用阵列乘法器实现的乘法指令,执行时间最短;
4):带符号的是:FFFEH,无符号乘积是:FFFEH;
此时函数umul():无溢出;
imul():有溢出;
对于无符号整数乘法运算,当仅取乘积的低位作为乘法结果时,可以判断高n+1位是否相同如果相同则未溢出;
评分及理由
(1)得分及理由(满分2分)
学生回答正确,指出可以通过移位和加法实现乘法,这与标准答案中“乘法运算可以通过加法和移位来实现”一致。得2分。
(2)得分及理由(满分2分)
学生回答部分正确。控制逻辑确实需要控制循环次数(即移位和加法的次数),但未提及“根据操作表控制加法和移位操作”(如Booth乘法中的控制逻辑)。此外,判断乘数是否为0属于优化,不是控制逻辑的核心作用。扣1分,得1分。
(3)得分及理由(满分4分)
学生正确指出①执行时间最长、③执行时间最短,但未给出理由。标准答案要求说明理由,包括①通过软件模拟需多条指令、②需多个时钟周期、③一个时钟周期完成等。理由缺失扣2分,得2分。
(4)得分及理由(满分5分)
第一问:学生回答“带符号的是:FFFEH,无符号乘积是:FFFEH”错误。标准答案中带符号乘积应为00000000FFFFFFFEH(64位),无符号乘积相同但解释不同。学生仅给出低16位,且未区分带符号和无符号。扣2分。
第二问:学生正确指出umul()无溢出、imul()溢出,得2分。
第三问:学生回答“判断高n+1位是否相同”不准确。标准答案为高n位全0则无溢出。学生表述错误,扣1分。
本小题总计得3分。
题目总分:2+1+2+3=8分
登录后发布评论
暂无评论,来抢沙发