diff --git a/bit_manipulation/missing_number.py b/bit_manipulation/missing_number.py
new file mode 100644
index 000000000000..92502a778ace
--- /dev/null
+++ b/bit_manipulation/missing_number.py
@@ -0,0 +1,21 @@
+def find_missing_number(nums: list[int]) -> int:
+    """
+    Finds the missing number in a list of consecutive integers.
+
+    Args:
+        nums: A list of integers.
+
+    Returns:
+        The missing number.
+
+    Example:
+        >>> find_missing_number([0, 1, 3, 4])
+        2
+    """
+    n = len(nums)
+    missing_number = n
+
+    for i in range(n):
+        missing_number ^= i ^ nums[i]
+
+    return missing_number