mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-06 17:29:31 +08:00
Improve comments, function & class documentation in IndexOfRightMostSetBit.java
(#5579)
This commit is contained in:
@ -1,13 +1,27 @@
|
|||||||
package com.thealgorithms.bitmanipulation;
|
package com.thealgorithms.bitmanipulation;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find The Index Of Right Most SetBit
|
* Utility class for bit manipulation operations.
|
||||||
* @author Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi)
|
* This class provides methods to work with bitwise operations.
|
||||||
|
* Specifically, it includes a method to find the index of the rightmost set bit
|
||||||
|
* in an integer.
|
||||||
|
* This class is not meant to be instantiated.
|
||||||
|
*
|
||||||
|
* Author: Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public final class IndexOfRightMostSetBit {
|
public final class IndexOfRightMostSetBit {
|
||||||
|
|
||||||
private IndexOfRightMostSetBit() {
|
private IndexOfRightMostSetBit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Finds the index of the rightmost set bit in the given integer.
|
||||||
|
* The index is zero-based, meaning the rightmost bit has an index of 0.
|
||||||
|
*
|
||||||
|
* @param n the integer to check for the rightmost set bit
|
||||||
|
* @return the index of the rightmost set bit; -1 if there are no set bits
|
||||||
|
* (i.e., the input integer is 0)
|
||||||
|
*/
|
||||||
public static int indexOfRightMostSetBit(int n) {
|
public static int indexOfRightMostSetBit(int n) {
|
||||||
if (n == 0) {
|
if (n == 0) {
|
||||||
return -1; // No set bits
|
return -1; // No set bits
|
||||||
@ -16,7 +30,7 @@ public final class IndexOfRightMostSetBit {
|
|||||||
// Handle negative numbers by finding the two's complement
|
// Handle negative numbers by finding the two's complement
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
n = -n;
|
n = -n;
|
||||||
n = n & (~n + 1); // Get the rightmost set bit in positive form
|
n = n & (~n + 1); // Isolate the rightmost set bit
|
||||||
}
|
}
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
Reference in New Issue
Block a user