what is the output of below code
int x=8,y;
x>>=2;
y=x;
what is y value.
NOTE:EXPLANATION IS COMPALSARY with binary bits
Answer Posted / kittu
x=8 means x is equivalent to 00001000 in bit wise environment.
x>>=2 is equivalent to x=(x>>2)
x>>2 makes a bitwise shift to x 2 times.that is now the bit
code is 00000010. that is 2.
and this is assigned to x.So when y is assigned by x viz
y=x; y value gets changed to 2.
Hence 2 is printed.
EXPLANATION:-When >> (right shift operator) is applied to a
byte
the bits in the byte get shifted to right by the number
specified on right side..
Ex:- 6>>1 implies
binary code of 6 is : 00000110
when shifted right : 00000011 which is 3 that is 6 divided
by 2.
Note that when shift operator is used the bits shift but not
rotate...That is once shift operator is applied the bits get
lost...
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
Can we declare a function inside a function in c?
What is 1d array in c?
What are the application of void data type in c?
How will you write a code for accessing the length of an array without assigning it to another variable?
Explain the difference between strcpy() and memcpy() function?
Explain how do you determine a file’s attributes?
What is use of bit field?
What are the valid places to have keyword “break”?
What is wrong in this statement? scanf(“%d”,whatnumber);
When should structures be passed by values or by references?
Explain output of printf("Hello World"-'A'+'B'); ?
How many identifiers are there in c?
What is struct node in c?
What are valid operations on pointers?
What are the uses of a pointer?