From d4614dbe6ab5cae142e4670f49d9f41653896736 Mon Sep 17 00:00:00 2001 From: Garrett Dickinson Date: Sun, 2 Mar 2025 20:29:13 -0600 Subject: [PATCH] reverse-bits --- reverse-bits/main.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 reverse-bits/main.cpp diff --git a/reverse-bits/main.cpp b/reverse-bits/main.cpp new file mode 100644 index 0000000..770635d --- /dev/null +++ b/reverse-bits/main.cpp @@ -0,0 +1,24 @@ +#include +#include +#include + +int main() { + //Reverse bits of an unsigned 32 bit integer + + std::cout << reverse_bits(43261596) << std::endl; + + return 0; +} + + +uint32_t reverse_bits(uint32_t n) { + uint32_t result = 0; + + // Starting from the end of the bit string, traverse backwards + for (int i = 31; i >= 0; i--) { + result |= (n & 1) << i; // Bitwise OR assign the + n >>= 1; + } + + return result; +} \ No newline at end of file