目录

1. 符号拓展

2. 加法运算

3. 溢出


 

1. 符号拓展

组原_符号扩展、加法运算、溢出

原码形式的符号扩展非常方便,反码和补码的符号扩展都是在原码符号扩展上分析得来的,所以尽量先处理原码形式的符号拓展,拓展好了之后再进行其它的求反码和补码操作!

 

 

 

2. 加法运算

组原_符号扩展、加法运算、溢出

对于机器来说:加法和减法实际上都是加法,只不过要加上一个辅助电路,辅助电路用来求减数相反数的补码。


组原_符号扩展、加法运算、溢出

 

 

 

3. 溢出

组原_符号扩展、加法运算、溢出

溢出的原因:机器字长有限! 所能表示的数据是有范围的!

 

 

 

 组原_符号扩展、加法运算、溢出

方法一:不需要增加多余的位,直接根据 两个直接相加数的符号 进行判断。即 B-C  看的不是 C  而是 -C。 【B-C=B+(-C)】
+ 号两边分别表示两种溢出情况: 1 1 0  和 0 0 1

 

 

 

组原_符号扩展、加法运算、溢出

方法二:根据符号位和数据位的进位情况判断。

 

 

 

组原_符号扩展、加法运算、溢出

双符号位情况下的右移操作:
右移一位:右移之后,由于低位符号位参与了移位,所以有空位,根据负数补码的添补规则,将空位填1。
左移一位:数值位的0移到了低位符号位上,空出的位补上0。
左移两位:移动规律相同,但是发生了正溢出!(这个数值没办法用字长为8位的二进制数表示)

 

注意:采用双符号位进行运算的时候,实际存储是只存储一个符号位的。因为存在存储器中的数字先保证是一个正常的数字,不是溢出的情况,既然是正常数字,则两个符号位是一样的,所以只存储一位即可;

在需要运算的时候,是会把符号位的1(假设符号位为1)并行地送到用于存储符号位的两个单元中;
这个时候就实现了双符号位的运算和存储。

 

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
猜你喜欢
  • 2021-07-19
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2022-02-08
  • 2021-06-11
  • 2022-02-07
相关资源
相似解决方案