diff --git a/src/main/java/com/thealgorithms/bitmanipulation/ClearBit.java b/src/main/java/com/thealgorithms/bitmanipulation/ClearBit.java new file mode 100644 index 000000000000..c863c46c53f7 --- /dev/null +++ b/src/main/java/com/thealgorithms/bitmanipulation/ClearBit.java @@ -0,0 +1,11 @@ +package com.thealgorithms.bitmanipulation; +/** + * Clears the bit located at clear from num + */ + +public class ClearBit { + public static int clearBit(int num, int clear) { + int mask = ~(1 << clear); + return num & mask; + } +} diff --git a/src/test/java/com/thealgorithms/bitmanipulation/ClearBitTest.java b/src/test/java/com/thealgorithms/bitmanipulation/ClearBitTest.java new file mode 100644 index 000000000000..60f73e9dd73c --- /dev/null +++ b/src/test/java/com/thealgorithms/bitmanipulation/ClearBitTest.java @@ -0,0 +1,13 @@ +package com.thealgorithms.bitmanipulation; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +public class ClearBitTest { + @Test + public void clearBitTest() { + assertEquals(5, ClearBit.clearBit(7, 1)); + assertEquals(5, ClearBit.clearBit(5, 1)); + } +}