整数加法溢出原理(五)

博客主要探讨整数加法的溢出情况,涉及无符号加法和补码加法。给出了无符号加法和补码加法的运算规则及溢出判断条件,如无符号加法可表示为 (x+y) mod 2w ,补码加法可表示为 U2Tw[(x+y) mod 2w] ,还说明了溢出判断的具体情形。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要考虑整数加法的溢出情况, 其中:

+wu+_w^u+wu 表示 www 位的无符号加法.

+wt+_w^t+wt 表示 www 位的补码加法.
 

1. 无符号加法

 
对满足 0≤x,y≤2w0 \leq x , y \le 2^w0x,y2wxxxyyy 有:
x+wuy={x+y,..........................x+y&lt;2w.....................正常x+y−2w,..................2w≤x+y≤2w+1.........溢出x+_w^u y= \begin {cases} x + y , ..........................x+y&lt;2^w .....................正常\\ x+y-2^w,..................2^w \leq x+y \leq 2^{w+1}.........溢出\\ \end{cases} x+wuy={x+y,..........................x+y<2w.....................x+y2w,..................2wx+y2w+1.........
也可以缩减为 x+wuy=(x+y)x+_w^u y=(x+y )x+wuy=(x+y) mod 2w2^w2w .
 

2. 补码加法

对满足 −2w−1≤x,y≤2w−1−1-2^{w-1} \leq x , y \le 2^{w-1}-12w1x,y2w11xxxyyy 有:
x+wty={x+y−2w,................2w≤x+y.............................正溢出x+y,.......................−2w−1≤x,y&lt;2w−1..............正常x+y+2w,................x+y&lt;−2w−1.......................负溢出x+_w^t y= \begin {cases} x + y -2^w, ................2^w\leq x+y .............................正溢出\\ x + y , ....................... -2^{w-1} \leq x , y &lt; 2^{w-1} ..............正常\\ x+y+2^w,................x+y &lt; -2^{w-1}.......................负溢出\\ \end{cases} x+wty=x+y2w,................2wx+y.............................x+y,.......................2w1x,y<2w1..............x+y+2w,................x+y<2w1.......................
也可以缩减为 x+wty=U2Tw[(x+y)x+_w^t y=U2T_w[(x+y )x+wty=U2Tw[(x+y) mod 2w]2^w]2w] .
 
注意:
  1. 已知 ∣x∣&lt;2w|x| &lt; 2^wx<2w, 若 x≥0x\ge0x0 , 则 xxx mod 2w2^w2w = xxx, 若 x&lt;0x&lt;0x<0 , 则 xxx mod 2w2^w2w = x+2wx+2^wx+2w.
 
  2. 对满足 Tminw≤x,y≤TmaxwTmin_w\le x,y \le Tmax_wTminwx,yTmaxwx,yx,yx,y , 令 s=x+wtys= x+_w^tys=x+wty ,
 
   当且仅当 x&gt;0,y&gt;0x&gt;0,y&gt;0x>0,y>0 , 但 s≤0s\le0s0 时, 计算 sss 发生了正溢出 ,
 
   当且仅当 x&lt;0,y&lt;0x&lt;0,y&lt;0x<0,y<0 , 但 s≥0s\ge0s0 时, 计算 sss 发生了负溢出 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值