算运题

1.不适用判断符比较两个数的大小

    int a, b;

    int max, min;

    max = (a + b + abs(a - b)) / 2;

    min = (a + b - abs(a -b)) / 2;

 

或者通过bool返回值判断

    bool flag;

    flag = a > b;

    max = flag * a + (1 - flag) * b;

 

2. 计算两数的平均值

    int a, b ,avg;

    avg = (a & b) + ((a ^ b) >>1);

posted @ 2017-12-19 11:13  index_id  阅读(127)  评论(0)    收藏  举报