本文主要是介绍算法8—不通过比较,找出两个数的最大值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:
比如:给定两个值 5和10,不通过比较,直接找出最大值。
分析:
一旦涉及到不用比较找最大值,想都不用想,一般只能通过位运算来实现。
max = a - ((a-b)&((a-b)>>31))
或者
max = ((a+b)+|a-b|)/2
如果找最小值,我们只需把两个值相加,减去max即可。
这篇关于算法8—不通过比较,找出两个数的最大值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!