我被困在这个问题上。感谢你的协助。找到不同的最右边位
给出两个整数n和m。找到它们在二进制表示中所不同的最右边位的位置(确保存在这样的位),从右向左计数。
返回2position_of_the_found_bit(从0开始)的值。
例
对于n = 11且m = 13,输出应该是 differentRightmostBit(N,M)= 2。
11(下标10)= 1011(下标2),13(下标)10 = 1101(下标2),它们所不同的最右边的位是在二进制表示中从右边开始的位置1(从0开始)的位。 所以答案是2的第一个功率= 2.
这是一个简单的问题,你做了什么? –
我刚开始学习按位运算符。我想知道你能不能给我一个提示,让我指出正确的方向。谢谢。 – brewersfan1976
单向:如果你对它们进行异或运算,那么所有的公共位将被设置为零,并将它们设置在不匹配的位置。现在,从右边开始,找到第一个非零位的位位置。即右移或仅检查位的位置。 –