我正在尝试实现一个函数,该函数必须从数组列表中返回最小值,没有比较器(“==”、“!=”、“>”、“<”、“>=” “<=”),但为了简化,我将只使用两个变量。 假设我有两个值:数字 5 声明为“a”,数字 35 声明为“b”,所以我找到了一种方法来获取两个整数的最小值,但不是两个无符号整数,请参阅:
b + ((a - b) & ((a - b) >> 31));
谁能帮帮我?
最佳答案
廉价而俗气的解决方案:如果您使用的是 32 位无符号整数,您可以将它们转换为 64 位有符号整数并使用上面的代码。
关于c++ - 从 2 unsigned int 中获取最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8914744/