Repository: TheAlgorithms/C-Plus-Plus
File: bit_manipulation/check_even_odd.cpp (C++)

Code before:
/**
 * @file
 * @brief Implementation to [Check if a number is Even or Odd using Bitwise Operator]
 * (https://www.log2base2.com/c-examples/bitwise/odd-or-even-program-in-c-using-bitwise-operator.html)
 *
 * @details
 * Given an integer N, determine whether it is even or odd using bitwise manipulation.
 * The least significant bit (LSB) of a binary number determines its parity:
 * - If the LSB is 0, the number is even.
 * - If the LSB is 1, the number is odd.
 *
 * This can be checked efficiently using the bitwise AND operator (&) with 1.
 * - If (N & 1) == 0, N is even.
 * - If (N & 1) == 1, N is odd.
 *
 * Worst Case Time Complexity: O(1)
 * Space Complexity: O(1)
 *
 * @author [Vedant Mukhedkar](https://github.com/git5v)
 */

#include <cassert>   /// for assert
#include <cstdint>
#include <iostream>  /// for IO operations
#include <string>

/**
 * @namespace bit_manipulation
 * @brief Bit manipulation algorithms
 */
namespace bit_manipulation {
/**
 * @namespace even_odd
 * @brief Functions for checking if a number is even or odd using bitwise operations
 */
namespace even_odd {

/**
 * @brief Checks if a number is even or odd using bitwise AND.
 * @param N The number to check.
 * @returns "Even" if N is even, "Odd" if N is odd.
     */
        std::string checkEvenOdd(std::int64_t N) {
            return (N & 1) == 0 ? "Even" : "Odd";
        }

    }  // namespace even_odd
}  // namespace bit_manipulation

/**

Review comment (suggestion):
```suggestion
#include <cassert>   /// for assert
#include <cstdint>   /// for uint32_t
#include <iostream>  /// for IO operations
#include <string>    /// for std::string
```

Code after:
/**
 * @file
 * @brief Implementation to [Check if a number is Even or Odd using Bitwise Operator]
 * (https://www.log2base2.com/c-examples/bitwise/odd-or-even-program-in-c-using-bitwise-operator.html)
 *
 * @details
 * Given an integer N, determine whether it is even or odd using bitwise manipulation.
 * The least significant bit (LSB) of a binary number determines its parity:
 * - If the LSB is 0, the number is even.
 * - If the LSB is 1, the number is odd.
 *
 * This can be checked efficiently using the bitwise AND operator (&) with 1.
 * - If (N & 1) == 0, N is even.
 * - If (N & 1) == 1, N is odd.
 *
 * Example:
 * Consider 8-bit binary representations of two numbers:
 *     Number: 10 (decimal) -> 00001010 (binary)
 *       LSB = 0 -> Even number
 * 
 *     Number: 13 (decimal) -> 00001101 (binary)
 *       LSB = 1 -> Odd number
 *
 * In both cases, evaluating (N & 1) isolates the LSB:
 * - For 10: 00001010 & 00000001 = 0  (Even)
 * - For 13: 00001101 & 00000001 = 1  (Odd)
 *
 * Worst Case Time Complexity: O(1)
 * Space Complexity: O(1)
 *
 * @author [Vedant Mukhedkar](https://github.com/git5v)
 */

#include <cassert>   /// for assert
#include <cstdint>   /// for uint32_t
#include <iostream>  /// for IO operations
#include <string>    /// for std::string

/**
 * @namespace bit_manipulation
 * @brief Bit manipulation algorithms
 */
namespace bit_manipulation {
/**
 * @namespace even_odd
 * @brief Functions for checking if a number is even or odd using bitwise operations
 */
namespace even_odd {

/**