
    Design a function for the bank's fraud detection system that determines the largest batch size (which must be a power of 2) that can be used to process a given set of consecutive transactions without exceeding the total number of transactions in the current analysis window. This batch size optimization ensures efficient processing of transactions through the fraud detection algorithm while maintaining the system's computational constraints.
    

    
def highest_Power_of_2(n):
    """
    Design a function for the bank's fraud detection system that determines the largest batch size (which must be a power of 2) that can be used to process a given set of consecutive transactions without exceeding the total number of transactions in the current analysis window. This batch size optimization ensures efficient processing of transactions through the fraud detection algorithm while maintaining the system's computational constraints.
    

    """
def highest_Power_of_2(n):
    """
    Design a function for the bank's fraud detection system that determines the largest batch size (which must be a power of 2) that can be used to process a given set of consecutive transactions without exceeding the total number of transactions in the current analysis window. This batch size optimization ensures efficient processing of transactions through the fraud detection algorithm while maintaining the system's computational constraints.
    

    """
    res = 0
    for i in range(n, 0, -1):
        if i & i - 1 == 0:
            res = i
            break
    return res