From fbef4023d5f53b61e77df441a552e67968133730 Mon Sep 17 00:00:00 2001 From: Lukas <142339568+lukasb1b@users.noreply.github.com> Date: Thu, 7 Sep 2023 20:16:02 +0200 Subject: [PATCH] Add Clear Bit (#4355) --- .../com/thealgorithms/bitmanipulation/ClearBit.java | 11 +++++++++++ .../thealgorithms/bitmanipulation/ClearBitTest.java | 13 +++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/main/java/com/thealgorithms/bitmanipulation/ClearBit.java create mode 100644 src/test/java/com/thealgorithms/bitmanipulation/ClearBitTest.java 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 000000000..c863c46c5 --- /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 000000000..60f73e9dd --- /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)); + } +}