文章
35
粉丝
0
获赞
0
访问
3.4k
评分及理由
(1)得分及理由(满分3分)
学生答案中R1=86H、R5=90H、R6=7CH,与标准答案完全一致。理由:x=134的二进制为10000110B,即86H;x-y=134-246=-112,但作为无符号数计算时,-112的补码表示为10010000B(即90H);x+y=134+246=380,超出8位无符号数范围(0~255),结果取低8位为01111100B(即7CH)。因此得3分。
(2)得分及理由(满分2分)
学生答案中m=-122、k1=-112,与标准答案完全一致。理由:m是带符号整数,x=134的二进制10000110B解释为补码时,最高位为1表示负数,其真值为-122;k1=m-n,m=-122,n=246的二进制11110110B解释为补码时真值为-10,因此k1=-122-(-10)=-112。因此得2分。
(3)得分及理由(满分2分)
学生答案正确指出可以利用同一个加法器及辅助电路实现,并解释了无符号数和有符号数的加减法均通过补码加法实现(无符号数减法用补数加法,有符号数减法用补码加法)。理由:加减法运算在硬件层面均使用加法器(结合取反和加1电路),无符号数和有符号数的存储格式相同(补码),运算电路一致,仅溢出判断不同。答案核心逻辑正确,但表述中“补数加法”应为“补码加法”(可能是识别误差),不影响得分。因此得2分。
(4)得分及理由(满分3分)
学生答案正确给出了溢出判断方法(最高位进位与符号位进位异或,即Cn⊕Cn-1),并正确指出“int k2=m+n”会发生溢出。理由:k2=m+n=-122+(-10)=-132,8位带符号整数范围为-128~127,-132小于下限,发生溢出。但标准答案中未要求写出异或的具体表达式(Cn⊕Cn-1),学生答案额外写出不扣分(符合“思路正确不扣分”)。因此得3分。
题目总分:3+2+2+3=10分
登录后发布评论
暂无评论,来抢沙发