【计算机组成原理无符号数的加减运算假定一个八位字长的计算机中-查字典问答网
分类选择

来自梁正平的问题

  【计算机组成原理无符号数的加减运算假定一个八位字长的计算机中运行如下c程序段unsignedintx=134;unsighedinty=246;intm=x;intn=y;unsignedintz1=x-y;unsignedintz2=x+y;intk1=m-n;intk2=m+n;若编译器编译时将8】

  计算机组成原理无符号数的加减运算

  假定一个八位字长的计算机中运行如下c程序段

  unsignedintx=134;

  unsighedinty=246;

  intm=x;

  intn=y;

  unsignedintz1=x-y;

  unsignedintz2=x+y;

  intk1=m-n;

  intk2=m+n;

  若编译器编译时将8个8位寄存器R1~R8分别分配给变量x、y、m、n、z1、z1、k1、k2;

  问:执行上述程序段后,寄存器R1、R5、R6

  的内容分别是什么?

  我计算的R5

  x=10000110

  y=11110110

  计算z1=x-y

  是不是因为他们都寄存在八位的寄存器里

  所以x-y:

  10000110

  -11110110

  ----------------

  10010000

  z1=90H

  这样计算对么?

5回答
2020-01-26 14:13
我要回答
请先登录
宫鹏

  不对.

  计算机的处理过程是:让减数经过一个反向器并加1,也就是取反,然后再送入ALU相加

  所以是这样的

  10000110

  +00001010

2020-01-26 14:15:11
梁正平

  1000,0110为什么不取反加1呢?这样的取反加一是无符号数的补码么?

2020-01-26 14:15:49
宫鹏

  ALU不认识什么符号。他有两个输入端A,B。A端直接输入,B端的看情况,如果是+则直接输入,如果是-则经过反向器输入。他只管计算,并把结果反回给程序,至于这个结果是什么类型,就由程序来处理了

2020-01-26 14:17:13
梁正平

  如果是两个数相加,A为正,B为负,这时候ALU是把B端的看成-么??

2020-01-26 14:20:54
宫鹏

  不给你说了吗,ALU不认识什么符号,只要是加运算,就直接输入。因为计算机存储负数用的是补码,B为-的话就直接输入他的补码形式。

2020-01-26 14:22:19

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •