You are here : Home / Core Java Tutorials / Core Java tutorial in detail
Bitwise & Bit Shift Operators >
Bitwise operators can be applied on byte, short, char, int and long.
Bitwise operator performs operations on bits.
Bitwise Operators
| ||||||||||||||||
&
|
bitwise AND operator
| |||||||||||||||
^
|
bitwise EXCLUSIVE OR operator (XOR)
| |||||||||||||||
|
|
bitwise INCLUSIVE OR operator
| |||||||||||||||
~
|
unary bitwise complement operator
Inverts the bits
|
Bitshift Operators
| |
<<
|
bitwise Left Shift Operator
Moves specified bits to left.
|
>>
|
bitwise Right Shift Operator
Moves specified bits to right.
|
>>>
|
unsigned Right Shift Operator
shifts a zero into the leftmost position, while the leftmost position after ">>" depends on sign extension
|
Program 4.1 to demonstrate Bitwise operators
/** JavaMadeSoEasy.com */
public class BitWiseOperatorTest {
public static void main(String[] args) {
int x=38; //0010 0110
int y=58; //0011 1010
System.out.println(x+" - "+Integer.toBinaryString(x));
System.out.println(y+" - "+Integer.toBinaryString(y));
int z=x&y;
System.out.println("\n & operator");
System.out.println(z+" - "+Integer.toBinaryString(z));
z=x^y;
System.out.println("\n ^ operator");
System.out.println(z+" - "+Integer.toBinaryString(z));
z=x|y;
System.out.println("\n | operator");
System.out.println(z+" - "+Integer.toBinaryString(z));
}
}
/*OUTPUT
38 - 100110
58 - 111010
& operator
34 - 100010
^ operator
28 - 11100
| operator
62 - 111110
*/
|
Program 4.2 to demonstrate Bitshift operators
/** JavaMadeSoEasy.com */
public class BitShiftOperatorTest {
public static void main(String[] args) {
//128,64,32,16, 8,4,2,1
int x=38; //0010 0110
System.out.println(x+" - "+Integer.toBinaryString(x));
int z=x>>2;
System.out.println("\n >> operator");
System.out.println(z+" - "+Integer.toBinaryString(z));
z=x<<2;
System.out.println("\n << operator");
System.out.println(z+" - "+Integer.toBinaryString(z));
x=38;
z=x>>>2;
System.out.println("\n >>> operator");
System.out.println(z+" - "+Integer.toBinaryString(z));
}
}
/*OUTPUT
38 - 100110
>> operator
9 - 1001
<< operator
152 - 10011000
>>> operator
9 - 1001
*/
|
Labels:
Core Java
core java Basics