对于无符号整数,x,y:
x+y=x+y, x+y<pow(2,w)
x+y-pow(2,w), x+y>=pow(2,w)
对于有符号整数,x, y:
x+y=x+y,-pow(2,w-1)<=x+y<pow(2,w-1)
x+y-pow(2,w), pow(2,w-1)<=x+y
x+y+pow(2,w), x+y<-pow(2,w-1)
(w指整数的二进制表示的位数)
证明过程比较复杂,尤其是对于有符号整数的溢出情况,但是结果倒是挺完美的,如果只是用的话,很容易记住。
本文详细阐述了无符号和有符号整数在进行加法运算时的溢出处理方法,并给出了具体的运算规则。对于不同类型的整数,文章提供了明确的溢出判断条件及相应的修正公式。
对于无符号整数,x,y:
x+y=x+y, x+y<pow(2,w)
x+y-pow(2,w), x+y>=pow(2,w)
对于有符号整数,x, y:
x+y=x+y,-pow(2,w-1)<=x+y<pow(2,w-1)
x+y-pow(2,w), pow(2,w-1)<=x+y
x+y+pow(2,w), x+y<-pow(2,w-1)
(w指整数的二进制表示的位数)
证明过程比较复杂,尤其是对于有符号整数的溢出情况,但是结果倒是挺完美的,如果只是用的话,很容易记住。
544

被折叠的 条评论
为什么被折叠?