For this Question: Given a number n, find the highest power of 2 that is smaller than or equal to n.The first line of the input contains the value n.

Constraints
1 <= n <= 1e18Print the highest power of 2 that is smaller than or equal to n.Sample Input 
10

Sample Output 
8
 
Explanation
8 is the highest power of 2 which is less than equal to 10, 16 is also there but it's higher than 10., I have written this Solution Code: #include <bits/stdc++.h>

using namespace std;

#define int long long

#ifdef LOCAL
#define debug(...) cerr << "[" << #__VA_ARGS__ << "]:", debug_out(__VA_ARGS__)
#else
#define debug(...) 2351
#endif

#define int long long

int32_t main() {
    int n;
    cin >> n;
    int p = (int)log2(n);
    cout << (int)pow(2, p) << "\n";
    return 0;
}, In this Programming Language: C++, Now tell me if this Code is compilable or not?