Question on Bitwise Operators
Question on Bitwise Operators
1. Which of these is not a
bitwise operator?
a) &
b) &=
c) |=
d) <=
Answer: d
Explanation: <= is a
relational operator.
2. Which operator is used to
invert all the digits in a binary representation of a number?
a) ~
b) <<<
c) >>>
d) ^
Answer: a
Explanation: Unary not
operator, ~, inverts all of the bits of its operand in binary representation.
3. On applying Left shift
operator, <<, on integer bits are lost one they are shifted past which
position bit?
a) 1
b) 32
c) 33
d) 31
Answer: d
Explanation: The left shift
operator shifts all of the bits in a value to the left specified number of
times. For each shift left, the high order bit is shifted out and lost, zero is
brought in from the right. When a left shift is applied to an integer operand,
bits are lost once they are shifted past the bit position 31.
4. Which right shift
operator preserves the sign of the value?
a) <<
b) >>
c) <<=
d) >>=
Answer: b
Explanation: None.
5. Which of these statements
are incorrect?
a) The left shift operator,
<<, shifts all of the bits in a value to the left specified number of
times
b) The right shift operator,
>>, shifts all of the bits in a value to the right specified number of
times
c) The left shift operator
can be used as an alternative to multiplying by 2
d) The right shift operator
automatically fills the higher order bits with 0
Answer: d
Explanation: The right shift
operator automatically fills the higher order bit with its previous contents
each time a shift occurs. This also preserves the sign of the value.
6. What is the output of
this program?
class bitwise_operator
{
public static void main(String args[])
{
int var1 = 42;
int var2 = ~var1;
System.out.print(var1 + "
" + var2);
}
}
a) 42 42
b) 43 43
c) 42 -43
d) 42 43
Answer: c
Explanation: Unary not
operator, ~, inverts all of the bits of its operand. 42 in binary is 00101010
in using ~ operator on var1 and assigning it to var2 we get inverted value of
42 i:e 11010101 which is -43 in decimal.
output:
$ javac bitwise_operator.java
$ java bitwise_operator
42 -43
7. What is the output of
this program?
class bitwise_operator
{
public static void main(String args[])
{
int a = 3;
int b = 6;
int c = a | b;
int d = a & b;
System.out.println(c + "
" + d);
}
}
a) 7 2
b) 7 7
c) 7 5
d) 5 2
Answer: a
Explanation: And operator
produces 1 bit if both operand are 1. Or operator produces 1 bit if any bit of
the two operands in 1.
output:
$ javac
bitwise_operator.java
$ java bitwise_operator
7 2
8. What is the output of
this program?
class leftshift_operator
{
public static void main(String args[])
{
byte x = 64;
int i;
byte y;
i = x << 2;
y = (byte) (x << 2)
System.out.print(i + " "
+ y);
}
}
a) 0 64
b) 64 0
c) 0 256
d) 256 0
Answer: d
Explanation: None.
output:
$ javac
leftshift_operator.java
$ java leftshift_operator
256 0
9. What is the output of
this program?
class rightshift_operator
{
public static void main(String args[])
{
int x;
x = 10;
x = x >> 1;
System.out.println(x);
}
}
a) 10
b) 5
c) 2
d) 20
Answer: b
Explanation: Right shift
operator, >>, devides the value by 2.
output:
$ javac
rightshift_operator.java
$ java rightshift_operator
5
10. What is the output of
this program?
class Output
{
public static void main(String args[])
{
int a = 1;
int b = 2;
int c = 3;
a |= 4;
b >>= 1;
c <<= 1;
a ^= c;
System.out.println(a + "
" + b + " " + c);
}
}
a) 3 1 6
b) 2 2 3
c) 2 3 4
d) 3 3 6
Answer: a
Explanation: None.
output:
$ javac Output.java
$ java Output
3 1 6
Question on Bitwise Operators
Reviewed by Unknown
on
February 24, 2019
Rating:
No comments:
If you have any doubt or query ,comment below: