美文网首页
怎么得到中间数不会存在溢出

怎么得到中间数不会存在溢出

作者: liust15 | 来源:发表于2018-05-16 21:49 被阅读0次

    int mn = (first + count) / 2;//存在溢出

    第一种方法:m=(s+t)/2;
    第二种方法:int
    m = (s & t) + ((s ^ t) >> 1)
    第二种方法不会溢出。
    第三种方法:int
    m = t + ((s-t)>>1)
    int m = first + (count - first) / 2;//解决问题
    第三种方法也不会溢出

    相关文章

      网友评论

          本文标题:怎么得到中间数不会存在溢出

          本文链接:https://www.haomeiwen.com/subject/wmwmdftx.html