aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bits.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/bits.c b/bits.c
index e280f1e..b4a41ff 100644
--- a/bits.c
+++ b/bits.c
@@ -117,7 +117,16 @@ int byteSwap(int x, int n, int m) {
* Difficulty: 3
*/
unsigned reverse(unsigned v) {
- return 2;
+ unsigned res = 0;
+ int i = 32;
+
+ while (i) {
+ res = (res << 1) | (v & 1);
+ v = v >> 1;
+ i--;
+ }
+
+ return res;
}
/*