main()
{
int a=4,b=2;
a=b<<a + b>>2;
printf("%d", a);
}
Answers were Sorted based on User's Feedback
Answer / neha saxena
a=b<<a+b>>2
=2<<4+2>>2
According to precedence Table
1) + operated very 1st, (4+2=6)
2) then<< (left shift), (2<<6, 2 shifted left side 6 times
= 128)
3) and at last >> (right shift), (128>>2, 128 shifted right
side 2 times = 32)
Explanation in Answer No. 5, 6 & 7 are wrong
| Is This Answer Correct ? | 173 Yes | 7 No |
Answer / satya
yes , the output will be 32....
<< and >> are bitwise operators... not relational ops..
reason:
<< means left shift operator..
>> means right shift operator..
for example.. if we give 2>>1
binary number for 2 is 0000 0010
the operator is right shift..so 0000 0001
for example.. if we give 2<<1
binary number for 2 is 0000 0010
the operator is left shift..so 0000 0100
go through this u will get the output...
| Is This Answer Correct ? | 79 Yes | 10 No |
Answer / manish soni tagore collage jai
b<<a=2<<4=32;
and
b>>2=1>>2=0
so
32+0=32
| Is This Answer Correct ? | 47 Yes | 5 No |
Answer / alamuru sreenivasa reddy
2<<4 that means 2 is left shifted by 4 times. then we will get 0010 0000=32 in decimal form. similarly 1>>2 means that is right shifted 2 times we will get 0000 0000=0.. so 0+32=32
i.e answer
| Is This Answer Correct ? | 24 Yes | 10 No |
Answer / vignya
size of integer is 8 bits
a=0000 0100, b=0000 0010;
b>>2 becomes 0000 0000 and b<<a becomes 0010 0000
on whole a= 0010 0000+ 0000 0000=0010 0000 =32
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / sandeep kumar
Both shift operator has same precedence but associativity left to right so first calculate b>>2=0 then calculate b<<4=32 then add the both result
| Is This Answer Correct ? | 1 Yes | 3 No |
Answer / aravind
It shows syntax error because relational operators are used only for checking conditions.
| Is This Answer Correct ? | 8 Yes | 23 No |
What is sizeof return in c?
What is the use of pragma in embedded c?
What is build process in c?
provide an example of the Group by clause, when would you use this clause
#include<stdio.h> int main(){ int a[]={1,2,3,5,1}; int *ptr=a+4; int y=ptr-a; printf("%d",y); }
How can I allocate arrays or structures bigger than 64K?
What does the function toupper() do?
why TCS selected more student in the software field from all institution.
What is the difference function call by value & function call by reference?
wat is the difference between array and pointer?
Write the test cases for checking a variable having value in range -10.0 to +10.0?
what is the use of #pragma pack, wer it is used?