第一种定义方法:
#define max(a,b) (((long)((a)-(b))&0x80000000)?(b):(a))
这里用到了与操作若是负数最高位肯定为1 与的结果肯定不为0 而若a大于b最高位为0与的结果会得到0
第二种方法:
#define max(a,b) ((((a)-(b))+fabs((double)(a-b)))?(a):(b))
用了绝对值的技巧
若a大于b 则a-b的绝对值为a-b加上a-b后结果不为0若a小于b则a-b的绝对值为b-a加上a-b后结果为0