整数的加法逆元(六)

1. 加法逆元

对于任意一个整数 x , 存在另外一个数 y , 使得 x + y = 0. 则称, x 和 y 互为加法逆元.

1.1 无符号逆元

对满足 0 ≤ x < 2 w 0\le x < 2^w 0x<2w 的任意 x x x , 其 w w w 位的无符号逆元 − w u x -_w^ux wux 由下式给出 :
− w u x = { x , . . . . . . . . . . . . . . . x = 0 2 w − x , . . . . . . . x > 0 -_w^ux= \begin{cases} x,...............x=0\\ 2^w-x,.......x>0\\ \end{cases} wux={x,...............x=02wx,.......x>0
+ w u x +_w^ux +wux , − w u x -_w^ux wux 互为逆元. − w u x + w u x = 0 -_w^ux+_w^ux = 0 wux+wux=0 .

1.2 补码的非

对满足 T m i n w ≤ x ≤ T m a x w Tmin_w\le x \le Tmax_w TminwxTmaxw 的任意 x x x , 其 w w w 位的逆元 − w t x -_w^tx wtx 由下式给出 :
− w t x = { T m i n w , . . . . . . . . . . . . . . . x = T m i n w − x , . . . . . . . . . . . . . . . . . . . . . x > T m i n w -_w^tx= \begin{cases} Tmin_w,...............x=Tmin_w\\ -x,.....................x>Tmin_w\\ \end{cases} wtx={Tminw,...............x=Tminwx,.....................x>Tminw
+ w t x +_w^tx +wtx , − w t x -_w^tx wtx 互为逆元. − w t x + w t x = 0 -_w^tx+_w^tx = 0 wtx+wtx=0 .

注意: 补码非 − x -x x 的两种算法:

  1. − x -x x 和 ~ x + 1 x+1 x+1 结果完全一致.
  2. x x x 的位向量分成两部分, 假设 k k k 是最右边的 1 的位置 , 因而 x x x 的位级表示形如 [ $x_{w-1} , x_{w-2}, … , x_{k+1} , 1, 0 , … , 0 $] ( 只要 x x x ≠ 0 就能找到这样的 k k k ), 这个值的非写成二进制格式就是 [ ~ x w − 1 x_{w-1} xw1 , ~ x w − 2 x_{w-2} xw2 , … , ~ x k + 1 x_{k+1} xk+1 , 1 , 0 , … , 0 ] . 也就是, 对 k k k 左边的所有位取反.

你可能感兴趣的:(Java,计算机设计)