CopyBits(x,p,n,y)
copy n LSBs from y to x starting LSB at 'p'th position.
Answer Posted / angad
t=0;
for(i=n; i>0; i--)
{
t|=(1<<p);
p++;
}
x=x&~t
t=t&(y<<p);
x=x|t;
}
x=10100110
y=11110111
let,p=3,n=4
after for loop, t=01111000 - mask for the n(=4) bits starting from the p(=3) bit that need to be altered in x
x=x&~t;
x =10100110
~t=10000111
ANDing clears the 4 bits to zero(bits 3-6)
x=1 0000 111
we need to extract the 1st n(=4) bits out of y , and shift them left to align them against the n(=4) bits of x we need to alter, therefore, left shift y by p(=3)
t=t&(y<<p)
y<<p = 1 0111 000
t = 0 1111 000
AND=>t = 0 0111 000
now x = 1 0000 111
t = 0 0111 000
x=x|t =>1 0111 111
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
Explain what is wrong with this statement? Myname = ?robin?;
Which control loop is recommended if you have to execute set of statements for fixed number of times?
how to find anagram without using string functions using only loops in c programming
List a few unconditional control statement in c.
What is #pragma statements?
main() { int i = 10; printf(" %d %d %d ", ++i, i++, ++i); }
Stimulate calculator using Switch-case-default statement for two numbers
What is the size of a union variable?
write a program to rearrange the array such way that all even elements should come first and next come odd
how can I convert a string to a number?
Discuss the function of conditional operator, size of operator and comma operator with examples.
Is main is a keyword in c?
How do you initialize pointer variables?
Implement bit Array in C.
Is using exit() the same as using return?