diff --git a/algorithms/bit-manipulation/maximizing-xor/maxXor.cpp b/algorithms/bit-manipulation/maximizing-xor/maxXor.cpp new file mode 100644 index 0000000..5fc4b6c --- /dev/null +++ b/algorithms/bit-manipulation/maximizing-xor/maxXor.cpp @@ -0,0 +1,22 @@ +#include +#include + +using namespace std; + +int main() +{ + uint32_t L, R, M; + cin >> L >> R; + M = L^R; + + M--; + M |= M >> 1; + M |= M >> 2; + M |= M >> 4; + M |= M >> 8; + M |= M >> 16; + + cout << M; + + return 0; +} diff --git a/algorithms/bit-manipulation/maximizing-xor/maxXor.py b/algorithms/bit-manipulation/maximizing-xor/maxXor.py index 2ec28cf..d58f2bf 100755 --- a/algorithms/bit-manipulation/maximizing-xor/maxXor.py +++ b/algorithms/bit-manipulation/maximizing-xor/maxXor.py @@ -18,5 +18,6 @@ if __name__ == "__main__": R = int(input()) A, B, M = maxXor(L, R) print("{}^{} = {}".format(A, B, M)) + print("{}^{} = {}".format(bin(A), bin(B), bin(M)))