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 :
HINT:
j i | | Bit Number: 10000000000 09876543210 ||||||||||| Input N = 11000000001 ^^^^^ ||||| M 10011
.
.
.
.
.
.
- Clear the bits j through i in N
- Shift M so that it lines up with bit j and i
- 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> |