首页 > 代码库 > 不调用if比较两个int a, b大小
不调用if比较两个int a, b大小
方案一:
所有比较都不用
int min = (a + b - abs(a - b)) / 2;(a与b的和减去a与b的差就等于a与b中较小值的两倍,再除以2即可得到较小值)
int max = (a + b + abs(a - b)) / 2; 同上
方案二:
int max(int a, b)
{
switch((unsigned int)(a - b) >> sizeof(int) * 8 - 1)
{
case 0: return b;
case 1:return a;
}
}
不调用if比较两个int a, b大小
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。