WR Home      Topic Home      Chapter:  1  2  3 
<Previous Next>

Chapter 03

Commonly used bit-manipulation functions

Page 13

Some Questions on Bit Manipulation


Question:

You are given two 32 bit numbers, N and M and two bit positions i and j.

Write a method to insert M into N, such that M starts at bit j and ends at bit i. You can assume that the bits j through i have enough space to fit all M.

That is, if M = 10011, you can assume that there are at least 5 bits between j and i. You would not, for example have j = 3 and I = 2, because M could not fully fit between bit 3 and bit 2.

Example:


Input N = 11000000001, M 10011, i =2, j = 6
Output N = 11001001101


Illustration :


j i | | Bit Number: 10000000000 09876543210 ||||||||||| Input N = 11000000001 ^^^^^ ||||| M 10011
HINT:
.
.
.
.
.
.

  1. Clear the bits j through i in N
  2. Shift M so that it lines up with bit j and i
  3. Merge M and N



Reference (Book):
Craking the coding interview (Fifth Edition)
                         Gayle Laakmann McDowell

(Detailed solution is given in book)




WR Home      Topic Home      Chapter:  1  2  3 
<Previous Next>