正溢出 和 负溢出

来源:互联网 发布:三层网络结构 编辑:程序博客网 时间:2024/04/28 01:41

如果位数 为w 的两个数x,y;且在系统中为补码表示,

如果:      -2^(w-1)<=x+y<2^(w-1) 则结果正常

                x+y<-2^(w-1)发生负溢出 结果为x+y+2^w

                x+y>=2^(w-1)发生正溢出 结果为x+y-2^w

     推导过程:

对于一个w位,他所能表达值得范围:

                   比如 w=4:           0 0 0 0        最大值 0 1 1 1=7  (2^(4-1)-1)

                                                                 最小值 1 0 0 0=-8  (-2^(4-1) )

                   超出这个范围将发生溢出,截断溢出位:             负溢出+2^w

                                                                                                 正溢出-2^w

原创粉丝点击