Curioustab
Aptitude
General Knowledge
Verbal Reasoning
Computer Science
Interview
Aptitude
General Knowledge
Verbal Reasoning
Computer Science
Interview
Bitwise Operators Questions
Assuming, integer is 2 byte, What will be the output of the program? #include; int main() { printf("%x\n", -1>>1); return 0; }
What will be the output of the program? #include<stdio.h> int main() { unsigned int res; res = (64 >>(2+1-2)) & (~(1<<2)); printf("%d\n", res); return 0; }
What will be the output of the program? #include<stdio.h> int main() { char c=48; int i, mask=01; for(i=1; i<=5; i++) { printf("%c", c|mask); mask = mask<<1; } return 0; }
What will be the output of the program? #include<stdio.h> int main() { int i=4, j=8; printf("%d, %d, %d\n", i|j&j|i, i|j&&j|i, i^j); return 0; }
What will be the output of the program? #include<stdio.h> int main() { int i=32, j=0x20, k, l, m; k=i|j; l=i&j; m=k^l; printf("%d, %d, %d, %d, %d\n", i, j, k, l, m); return 0; }
If an unsigned int is 2 bytes wide then, What will be the output of the program? #include<stdio.h> int main() { unsigned int a=0xffff; ~a; printf("%x\n", a); return 0; }
If an unsigned int is 2 bytes wide then, What will be the output of the program? #include<stdio.h> int main() { unsigned int m = 32; printf("%x\n", ~m); return 0; }
What will be the output of the program? #include<stdio.h> int main() { printf("%d >> %d %d >> %d\n", 4 >> 1, 8 >> 1); return 0; }
What will be the output of the program? #define P printf("%d\n", -1^~0); #define M(P) int main()\ {\ P\ return 0;\ } M(P)
What will be the output of the program? #include<stdio.h> int main() { printf("%d %d\n", 32<<1, 32<<0); printf("%d %d\n", 32<<-1, 32<<-0); printf("%d %d\n", 32>>1, 32>>0); printf("%d %d\n", 32>>-1, 32>>-0); return 0; }
Assuming a integer 2-bytes, What will be the output of the program? #include<stdio.h> int main() { printf("%x\n", -1<<3); return 0; }
What will be the output of the program? #include<stdio.h> int main() { unsigned char i = 0x80; printf("%d\n", i<<1); return 0; }
Bitwise & and | are unary operators
Left shifting a number by 1 is always equivalent to multiplying it by 2.
Bitwise & can be used to divide a number by powers of 2
Bitwise & can be used to check if more than one bit in a number is on.
In the statement expression1 >> expression2. if expression1 is a signed integer with its leftmost bit set to 1 then on right shifting it the result of the statement will vary from computer to computer
Bitwise & can be used to check if a bit in number is set or not.
Left shifting an unsigned int or char by 1 is always equivalent to multiplying it by 2.
On left shifting, the bits from the left are rotated and brought to the right and accommodated where there is empty space on the right?
1
2