c – 这个按位表达式如何帮助找到两个整数之间的最小值和最大值
发布时间:2020-12-16 09:23:03 所属栏目:百科 来源:网络整理
导读:https://www.geeksforgeeks.org/compute-the-minimum-or-maximum-max-of-two-integers-without-branching/ 我试图找到在两个整数之间找到最大值和最小值的替代方法,并遇到以下用于操作的代码.任何人请澄清代码中按位运算符的工作和角色: /*Function to find
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 – 这个按位表达式如何帮助找到两个整数之间的最小值和最大值? - 代码日志 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |