Я застрял на этой проблеме. Спасибо за вашу помощь.найти другой самый правый бит
Вам даны два целых числа, n и m. Найдите позицию самого правого бита, в котором они отличаются в своих двоичных представлениях (гарантируется, что такой бит существует), считая справа налево.
Возвращает значение 2position_of_the_found_bit (0).
Пример
При п = 11 и т = 13, выходной сигнал должен быть differentRightmostBit (п, т) = 2.
11 (индекс 10) = 1011 (нижний индекс 2), 13 (индекс 10 = 1101 (индекс 2), самый правый бит, в котором они отличаются, - бит в позиции 1 (основанный на 0) справа в двоичных представлениях. Итак, ответ 2 на 1-ю степень = 2.
Это простая проблема, что вы сделали? –
Я только начал изучать побитовые операторы. Мне было интересно, можете ли вы дать мне подсказку, чтобы указать мне в правильном направлении. Благодарю. – brewersfan1976
в одну сторону: если вы XOR их, то все обычные биты будут установлены в ноль, оставив биты, установленные там, где они не совпадают. Теперь начните с правой стороны и найдите битную позицию первого ненулевого бита. т.е. сдвиг вправо или просто проверка позиций бит. –