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
Answers were Sorted based on User's Feedback
Answer / 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 |
What is putchar() function?
WAP – represent a char in binary format
What is the Difference between Macro and ordinary definition?
3 Answers Bosch, Cognizant, College School Exams Tests, Motorola,
How can I set an array's size at run time?
What is LINKED LIST? How can you access the last element in a linked list?
Difference between fopen() and open()?
What is operator promotion?
main() { float a=3.2e40; printf("%d",a); }
How do we print only part of a string in c?
Why is it important to memset a variable, immediately after allocating memory to it ?
write a program to swap two variables a=5 , b= 10 without using third variable
what does " calloc" do?