A 32 bit number is a series of bits from 0 to 31. We can access each bit via shifting operation. We take an unit 1 as reference min value to traverse bits. When we shift 1 by 0 at right, it positioned at 0th position and if we AND it with bits it gives 0th position value. ANDing with 1 gives us the exact value. If the bit is 1 then we get 1 else 0 will result as 0 only. Now we shift to next position i.e. shift right by 1 and AND with bits. This way we can iterate till 31th bit and obtain each bits.
Previous steps shows how to access each bit and how to iterate through bits. Now reversing bits are more complex. We need to get bit 0 and bit 31 and swap it and save it again back to bitmask. In the next iteration we access 1 and 30 th bit and swap. In this way we swap till the middle position.
Original Bits 0b00010010001101000101011001111000 Reversed Bits 0b00011110011010100010110001001000
About our authors: Team EQA
You have viewed 1 page out of 252. Your C learning is 0.00% complete. Login to check your learning progress.