位运算取绝对值

int abs(int v) {
    int t = v >> 31;//取符号位,整数为0,负数为-1
    return (v^t) - t;//整数异或0本身;负数异或-1取反+1就是绝对值
}                     
    

 

posted on 2015-03-26 15:54  jec  阅读(1148)  评论(0编辑  收藏  举报

导航