File tree 1 file changed +13
-0
lines changed
1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -21,12 +21,25 @@ public static int getRightmostSetBitPosition(long n) {
21
21
return position ;
22
22
}
23
23
24
+ public static long unsetRightmostSetBit (long n ) {
25
+ return n & (n - 1 );
26
+ }
27
+
24
28
public static void main (String a []) {
25
29
System .out .println (getRightmostSetBitPosition (0 ));
26
30
System .out .println (getRightmostSetBitPosition (1 ));
27
31
System .out .println (getRightmostSetBitPosition (2 ));
28
32
System .out .println (getRightmostSetBitPosition (5 ));
29
33
System .out .println (getRightmostSetBitPosition (18 ));
30
34
System .out .println (getRightmostSetBitPosition (19 ));
35
+
36
+ System .out .println ("========================" );
37
+
38
+ System .out .println (unsetRightmostSetBit (0 ));
39
+ System .out .println (unsetRightmostSetBit (2 ));
40
+ System .out .println (unsetRightmostSetBit (12 ));
41
+ System .out .println (unsetRightmostSetBit (16 ));
42
+ System .out .println (unsetRightmostSetBit (18 ));
43
+ System .out .println (unsetRightmostSetBit (-1 ));
31
44
}
32
45
}
You can’t perform that action at this time.
0 commit comments