整数的加法逆元(六)

1. 加法逆元

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

1.1 无符号逆元

对满足 0 ≤ x &lt; 2 w 0\le x &lt; 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 &gt; 0 -_w^ux= \begin{cases} x,...............x=0\\ 2^w-x,.......x&gt;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 &gt; T m i n w -_w^tx= \begin{cases} Tmin_w,...............x=Tmin_w\\ -x,.....................x&gt;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 左边的所有位取反.
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值