操作系统基础学习(计算机完成整数的加法时结果的由来)

在开始之前,为防止数据的不断扩大已经定义 新操作,通过截断的方式防止数据的不断扩张。

整数的加法

设定下列讨论均在 w位的操作系统下
本节概要

  1. 无符号整数的加法
  2. 无符号整数求反
  3. 补码的加法
  4. 补码的非

无符号数(U)做加法时会出现两种情况

两个数中 符合一个大于等于零,一个小于2^w 的情况均可得出结果
原因请看课本61页推导。

  • 正常结果

原因是两数之和在最大的可表示数范围内(2^w)-1 结果得其自身

  • 溢出

超出了(2^w)-1范围,且最大会小于2^(w+1)
结果直接丢弃了应该进的那一位,所以公式中体现为减去2^w
由于截断操作的影响,且不可能在逻辑结构上多出一位来表示数据

溢出时可以采取警告措施
设定s=x+y-2^w 当s

补充无符号数取反的操作
联系阿贝尔群 群内包含单位元,且元素可交换,所有元素有逆元
无符号数X取反分为两种情况
X=0 则是其本身
X>0 则可用2^w - X 得结果,因为逆元和X本身加在2^w表示范围内;

补码的加法分为三种情况
对满足 -2^w =< x 和 y <= 2^(w-1)-1 (对应正负数的最大有效表示)
对应的界限分别为 W位机器最大正整数,最小负整数

  • 正溢出 加和结果>=2^(w-1)

结果为 x+y-2^w

  • 负溢出 加和结果< -2^(w-1)

结果为 x+y+2^w

  • 正常 -2^(w-1)<= 加和结果 < 2^(w-1)

结果为x+y

补码的非

分为两种情况讨论,补码和其非作和结果仍然为0;

你可能感兴趣的:(学习笔记,操作系统)