CopyBits(x,p,n,y)
copy n LSBs from y to x starting LSB at 'p'th position.
Answer Posted / intfail
all the above answers are wrong...
never use loops. immediate rejection
CopyBits(x, p, n, y)
First get n bits from pos p from Y
bitsFromy = y >> (p-n+1) & (~(~0<<n))
Now, get a mask such that we can 0 out bits in x at pos p and n bits to the right
startpos = p -n +1
create a mask from (startpos, p)
mask = (~0 << p - startpos +1)<<startpos | ~(~0 << startpos)
Now, 0 out the the bits in the locations (starpos, p) in x
and apply the bits extracted from y
x = (x & mask) | (bitsFromy << startpos)
that is all it takes.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
Can a variable be both const and volatile?
How do I create a directory? How do I remove a directory (and its contents)?
process by which one bit patten in to another by bit wise operation is? (a) masking, (b) pruning, (c) biting, (d) chopping,
How will you print TATA alone from TATA POWER using string copy and concate commands in C?
Explain how can I write functions that take a variable number of arguments?
What is #include stdlib h?
What is .obj file in c?
How can I run c program?
What is struct node in c?
how to introdu5ce my self in serco
What is meant by initialization and how we initialize a variable?
Explain what is wrong with this program statement?
How can I find out if there are characters available for reading?
Write a program of prime number using recursion.
What does printf does?