/
NikolayIvkin
/
TheAlgorithms
Обзор
Документация
Войти
/
NikolayIvkin
/
TheAlgorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/com/thealgorithms/bitmanipulation/FirstDifferentBit.java
33 строки
899 B
Hardik Pawar
Add `FirstDifferentBit` algorithm (#5866)
26 окт 2024, 12:43
Не верифицирован
26 окт 2024, 12:43
e4ef072
Код
Авторство
О чём код?
package com.thealgorithms.bitmanipulation; /** * This class provides a method to find the first differing bit * between two integers. * * Example: * x = 10 (1010 in binary) * y = 12 (1100 in binary) * The first differing bit is at index 1 (0-based) * So, the output will be 1 * * @author Hardvan */ public final class FirstDifferentBit { private FirstDifferentBit() { } /** * Identifies the index of the first differing bit between two integers. * Steps: * 1. XOR the two integers to get the differing bits * 2. Find the index of the first set bit in XOR result * * @param x the first integer * @param y the second integer * @return the index of the first differing bit (0-based) */ public static int firstDifferentBit(int x, int y) { int diff = x ^ y; return Integer.numberOfTrailingZeros(diff); } }