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
Given below are three different ways to print the character for ASCII code 88. Which is the correct way1) char c = 88; cout << c << " ";2) cout.put(88);3) cout << char(88) << " "; a) 1 b) 2 c) 3 d) constant
What is the use of volatile?
What are reserved words with a programming language?
Do you know what are bitwise shift operators in c programming?
What are the different types of data structures in c?
What does char * * argv mean in c?
What are conditional operators in C?
Which control loop is recommended if you have to execute set of statements for fixed number of times?
develop algorithms to add polynomials (i) in one variable
How can I use a preprocessorif expression to ?
what is the role you expect in software industry?
#include show(int t,va_list ptr1) { int a,x,i; a=va_arg(ptr1,int) printf(" %d",a) } display(char) { int x; listptr; va_star(otr,s); n=va_arg(ptr,int); show(x,ptr); } main() { display("hello",4,12,13,14,44); }
What does %2f mean in c?
Difference between constant pointer and pointer to a constant.
Why is c so popular?