计算机组成原理无符号数的加减运算
假定一个八位字长的计算机中运行如下c程序段
unsigned int x=134;
unsighed 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、z1、k1、k2;
问:执行上述程序段后,寄存器R1、R5、R6
的内容分别是什么?
我计算的R5
x=10000110
y=11110110
计算z1=x-y
是不是因为他们都寄存在八位的寄存器里
所以x-y:
1000 0110
- 1111 0110
----------------
1001 0000
z1=90H
这样计算对么?
人气:281 ℃ 时间:2020-04-28 10:00:11
解答
不对.
计算机的处理过程是:让减数经过一个反向器并加1,也就是取反,然后再送入ALU相加
所以是这样的
1000 0110
+0000 10101000,0110 为什么不取反加1呢?这样的取反加一是无符号数的补码么?ALU不认识什么符号。他有两个输入端A,B。 A端直接输入,B端的看情况,如果是+则直接输入,如果是-则经过反向器输入。 他只管计算,并把结果反回给程序,至于这个结果是什么类型,就由程序来处理了如果是两个数相加,A为正,B为负,这时候ALU是把B端的看成-么??不给你说了吗,ALU不认识什么符号,只要是加运算,就直接输入。 因为计算机存储负数用的是补码,B为-的话就直接输入他的补码形式。
推荐
- 加减运算中,已知数字和结果,怎样算符号.
- 分子上如果包含加减运算符号,而分母是一个数,那这个算不算一个单项式?
- 在计算机中,最适合进行数字加减运算的数字编码是?
- 在计算机中,最适合进行数字加减运算的数字编码是什么?
- 均数加减标准差符号怎么打?
- 十全十美造句
- 初二 物理 气压气压急急急 请详细解答,谢谢!(13 18:50:28)
- 设f(x)为定义在r上的偶函数,但x≥0时y=f(x)的图像是顶点在p(3.4),且过点A(2,2)的抛物线的一部分.(1)求函数f(x)在(-无穷大,0)上的解析式;(2)求函数f(x)在R上的解析式,并画出函数f(x)的图像;(3)写出
猜你喜欢