不用比较运算符比较两个数的大小

来源:互联网 发布:网络协议分析与实现 编辑:程序博客网 时间:2024/05/17 23:35

不准在函数体中使用任何比较运算,比如if,for, while等,不准调用任何库函数。

基本思路:

判断两个数的差值:

>=0,则前者大

<0,则后者大

注:a-b可能会溢出,这里没有考虑


int max(int a, int b) {int c = a - b;int k = (c >> 31) & 0x1;int max = a - k * c;return max;}



2 0
原创粉丝点击