https://www.geeksforgeeks.org/compute-the-minimum-or-maximum-max-of-two-integers-without-branching/ 我试图找到在两个整数之间找到最大值和最小值的替代方法,并遇到以下用于操作的代码.任何人请澄清代码中
我试图找到在两个整数之间找到最大值和最小值的替代方法,并遇到以下用于操作的代码.任何人请澄清代码中按位运算符的工作和角色:
/*Function to find minimum of x and y*/ int min(int x, int y) { return y ^ ((x ^ y) & -(x < y)); } /*Function to find maximum of x and y*/ int max(int x, int y) { return x ^ ((x ^ y) & -(x < y)); }
return y ^ ((x ^ y) & -(x < y));
– 如果x> = y和-1(即,设置了所有位的int),则(x
相关文章
- C:查找算术表达式类型的最大值和最小值
- c - 在不使用If的情况下找出两个数字的最大值和最小值?
- Java-如何按整数序列查找最小值和最大值?
- 数组 - 找到S的最大可能值(S =(min2∧min))其中min2和min是最小的并且是数组的k个元素中的下一个最小整数
- c - 给定一个大小为N的数组,我需要找到在最小和最大范围内总和的最小值数
- java - 如何找到2d数组的最大值和最小值的位置
- Python:如何在两个独立的数组之间找到两个相等/最接近的值?
- 找到每列的最大值和最小值,然后找到每一行的最大值和最小值
转载注明原文:c – 这个按位表达式如何帮助找到两个整数之间的最小值和最大值? - 代码日志