共计 496 个字符,预计需要花费 2 分钟才能阅读完成。
在开始之前,为防止数据的不断扩大已经定义 新操作,通过截断的方式防止数据的不断扩张。
整数的加法
设定下列讨论均在 w 位 的操作系统下
本节概要
- 无符号整数的加法
- 补码的加法
对 无符号数 (U) 做加法 时会出现两种情况
两个数中 符合一个大于等于零,一个小于 2^w 的情况均可得出结果。原因请看课本 61 页推导。
- 正常结果
两数之和 < 2^w 因最大仅可表示数为 (2^w)-1
结果为其自身
- 溢出
2^(w+1) > 两数之和新操作 >= 2^w
结果会是 x+y-2^w
溢出时可以采取警告措施
设定标记元 s =x+ 新操作 y -2^w 当 s <x 时即可判定溢出。
补充 无符号数取反 的操作
联系阿贝尔群 群内包含单位元,且元素可交换,所有元素有逆元
无符号数 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
正文完