如何在给定的数字集中找到位置的最主要位?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在给定的数字集中找到位置的最主要位?相关的知识,希望对你有一定的参考价值。
例:
11: 01011
18: 10010
2: 00010
Ans: 00010
在零位(最右边),我的0比1更多。因此,我的答案应为0.同样,在第一位,我有1作为显性位,依此类推。
有没有办法使用基本的按位运算符找到它或者我应该使用任何其他可以实现此结果的位掩码?我正在寻找一个O(1)解决方案。
答案
如果你有三个输入x,y,z,你可以使用
(x & y) | (z & (x | y))
对于任何其他恒定数量的输入,可能会找到类似的公式。
以上是关于如何在给定的数字集中找到位置的最主要位?的主要内容,如果未能解决你的问题,请参考以下文章