(11分)假定在一个8位字长的计算机中运行如下C程序段:
unsigned int x=134;
unsigned int y=246;
int m=x;
int n=y;
unsigned int z1=x-y;
unsigned int z2=x+y;
int k1=m-n;
int k2=m+n;
若编译器编译时将8个8位寄存器R1~R8分别分配给变量x,y,m,n,z1,z2,k1和k2。请
回答下列问题:(提示:带符号整数用补码表示)
(1)执行上述程序段后,寄存器R1,R5和R6的内容分别是什么? (用十六进制表示)
(2)执行上述程序段后,变量 m和k1的值分别是多少? (用十进制表示)
(3)上述程序段涉及带符号整数加/减运算、无符号整数加/减运算,这四种运算能否利用同
一个加法器辅助电路实现? 简述理由。
(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出? 上述程序段中,哪些
带符号整数运算语句的执行结果会发生溢出?
查看答案和解析【25考研辅导课程推荐】:25考研集训课程,VIP领学计划,25考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
启航教育热门私房课
MORE