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
Why is C language being considered a middle level language?
How many bytes is a struct in c?
Can a variable be both constant and volatile?
What is static function in c?
Why do we use stdio h and conio h?
What does stand for?
What is volatile c?
Explain the array representation of a binary tree in C.
What is the function of this pointer?
which of the following shows the correct hierarchy of arithmetic operations in C a) (), **, * or/,+ or - b) (),**,*,/,+,- c) (),**,/,*,+,- d) (),/ or *,- or +
What is the meaning of 2d in c?
Do character constants represent numerical values?
What is the use of sizeof () in c?
Is c is a high level language?
What is a string?