相关疑难解决方法(0)

解释这个片段,它在不使用if-else或任何其他比较运算符的情况下找到最多两个整数?

找到最多两个数字.您不应该使用if-else或任何其他比较运算符.我在网上公告板上发现了这个问题,所以我想我应该在StackOverflow中询问

示例输入:5,10输出:10

我找到了这个解决方案,有人可以帮我理解这些代码行

int getMax(int a, int b) {  
    int c = a - b;  
    int k = (c >> 31) & 0x1;  
    int max = a - k * c;  
    return max;  
}
Run Code Online (Sandbox Code Playgroud)

c algorithm math bit-manipulation max

75
推荐指数
6
解决办法
7万
查看次数

标签 统计

algorithm ×1

bit-manipulation ×1

c ×1

math ×1

max ×1