Difference between revisions of "JAVA: Operator Bitwise di Java"

From OnnoWiki
Jump to navigation Jump to search
(Created page with " Operators constitute the basic building block to any programming language. Java too provides many types of operators which can be used according to the need to perform variou...")
 
Line 2: Line 2:
 
Operators constitute the basic building block to any programming language. Java too provides many types of operators which can be used according to the need to perform various calculations and functions, be it logical, arithmetic, relational, etc. They are classified based on the functionality they provide. Here are a few types:  
 
Operators constitute the basic building block to any programming language. Java too provides many types of operators which can be used according to the need to perform various calculations and functions, be it logical, arithmetic, relational, etc. They are classified based on the functionality they provide. Here are a few types:  
  
Arithmetic Operators
+
* Operator Arithmetic Operators
Unary Operators
+
* Operator Unary Operators
Assignment Operator
+
* Operator Assignment Operator
Relational Operators
+
* Operator Relational Operators
Logical Operators
+
* Operator Logical Operators
Ternary Operator
+
* Operator Ternary Operator
Bitwise Operators
+
* Operator Bitwise Operators
Shift Operators
+
* Operator Shift Operators
 +
 
 
This article explains all that one needs to know regarding Bitwise Operators.  
 
This article explains all that one needs to know regarding Bitwise Operators.  
  
Bitwise Operators
+
==Operator Bitwise==
 +
 
 
Bitwise operators are used to perform the manipulation of individual bits of a number. They can be used with any integral type (char, short, int, etc.). They are used when performing update and query operations of the Binary indexed trees.  
 
Bitwise operators are used to perform the manipulation of individual bits of a number. They can be used with any integral type (char, short, int, etc.). They are used when performing update and query operations of the Binary indexed trees.  
  
 
Now let’s look at each one of the bitwise operators in Java:  
 
Now let’s look at each one of the bitwise operators in Java:  
  
1. Bitwise OR (|)  
+
==1. Bitwise OR (|)==
  
 
This operator is a binary operator, denoted by ‘|’. It returns bit by bit OR of input values, i.e., if either of the bits is 1, it gives 1, else it shows 0.  
 
This operator is a binary operator, denoted by ‘|’. It returns bit by bit OR of input values, i.e., if either of the bits is 1, it gives 1, else it shows 0.  
  
Example:
+
Contoh:
  
a = 5 = 0101 (In Binary)
+
a = 5 = 0101 (In Binary)
b = 7 = 0111 (In Binary)
+
b = 7 = 0111 (In Binary)
  
 
Bitwise OR Operation of 5 and 7
 
Bitwise OR Operation of 5 and 7
  0101
+
| 0111
+
  0101
________
+
| 0111
  0111  = 7 (In decimal)  
+
  ________
2. Bitwise AND (&)
+
  0111  = 7 (In decimal)  
 +
 
 +
==2. Bitwise AND (&)==
  
 
This operator is a binary operator, denoted by ‘&.’ It returns bit by bit AND of input values, i.e., if both bits are 1, it gives 1, else it shows 0.  
 
This operator is a binary operator, denoted by ‘&.’ It returns bit by bit AND of input values, i.e., if both bits are 1, it gives 1, else it shows 0.  
  
Example:
+
Contoh:
  
a = 5 = 0101 (In Binary)
+
a = 5 = 0101 (In Binary)
b = 7 = 0111 (In Binary)
+
b = 7 = 0111 (In Binary)
  
 
Bitwise AND Operation of 5 and 7
 
Bitwise AND Operation of 5 and 7
  0101
+
 
& 0111
+
  0101
________
+
& 0111
  0101  = 5 (In decimal)  
+
  ________
3. Bitwise XOR (^)  
+
  0101  = 5 (In decimal)  
 +
 
 +
==3. Bitwise XOR (^)==
  
 
This operator is a binary operator, denoted by ‘^.’ It returns bit by bit XOR of input values, i.e., if corresponding bits are different, it gives 1, else it shows 0.  
 
This operator is a binary operator, denoted by ‘^.’ It returns bit by bit XOR of input values, i.e., if corresponding bits are different, it gives 1, else it shows 0.  
  
Example:
+
Contoh:
  
a = 5 = 0101 (In Binary)
+
a = 5 = 0101 (In Binary)
b = 7 = 0111 (In Binary)
+
b = 7 = 0111 (In Binary)
  
 
Bitwise XOR Operation of 5 and 7
 
Bitwise XOR Operation of 5 and 7
  0101
+
 
^ 0111
+
  0101
________
+
^ 0111
  0010  = 2 (In decimal)  
+
  ________
4. Bitwise Complement (~)
+
  0010  = 2 (In decimal)  
 +
 
 +
==4. Bitwise Complement (~)==
  
 
This operator is a unary operator, denoted by ‘~.’ It returns the one’s complement representation of the input value, i.e., with all bits inverted, which means it makes every 0 to 1, and every 1 to 0.  
 
This operator is a unary operator, denoted by ‘~.’ It returns the one’s complement representation of the input value, i.e., with all bits inverted, which means it makes every 0 to 1, and every 1 to 0.  
  
Example:
+
Contoh:
  
a = 5 = 0101 (In Binary)
+
a = 5 = 0101 (In Binary)
  
 
Bitwise Complement Operation of 5
 
Bitwise Complement Operation of 5
  
~ 0101
+
~ 0101
________
+
  ________
  1010  = 10 (In decimal)  
+
  1010  = 10 (In decimal)  
 +
 
 
Note: Compiler will give 2’s complement of that number, i.e., 2’s complement of 10 will be -6.
 
Note: Compiler will give 2’s complement of that number, i.e., 2’s complement of 10 will be -6.
  
 +
// Java program to illustrate
 +
// bitwise operators
 +
 
 +
public class operators {
 +
    public static void main(String[] args)
 +
    {
 +
        // Initial values
 +
        int a = 5;
 +
        int b = 7;
 +
 
 +
        // bitwise and
 +
        // 0101 & 0111=0101 = 5
 +
        System.out.println("a&b = " + (a & b));
 +
 
 +
        // bitwise or
 +
        // 0101 | 0111=0111 = 7
 +
        System.out.println("a|b = " + (a | b));
 +
 
 +
        // bitwise xor
 +
        // 0101 ^ 0111=0010 = 2
 +
        System.out.println("a^b = " + (a ^ b));
 +
 
 +
        // bitwise not
 +
        // ~0101=1010
 +
        // will give 2's complement of 1010 = -6
 +
        System.out.println("~a = " + ~a);
 +
 +
        // can also be combined with
 +
        // assignment operator to provide shorthand
 +
        // assignment
 +
        // a=a&b
 +
        a &= b;
 +
        System.out.println("a= " + a);
 +
    }
 +
}
  
// Java program to illustrate
 
// bitwise operators
 
 
public class operators {
 
    public static void main(String[] args)
 
    {
 
        // Initial values
 
        int a = 5;
 
        int b = 7;
 
 
        // bitwise and
 
        // 0101 & 0111=0101 = 5
 
        System.out.println("a&b = " + (a & b));
 
 
        // bitwise or
 
        // 0101 | 0111=0111 = 7
 
        System.out.println("a|b = " + (a | b));
 
 
        // bitwise xor
 
        // 0101 ^ 0111=0010 = 2
 
        System.out.println("a^b = " + (a ^ b));
 
 
        // bitwise not
 
        // ~0101=1010
 
        // will give 2's complement of 1010 = -6
 
        System.out.println("~a = " + ~a);
 
 
        // can also be combined with
 
        // assignment operator to provide shorthand
 
        // assignment
 
        // a=a&b
 
        a &= b;
 
        System.out.println("a= " + a);
 
    }
 
}
 
 
Output
 
Output
a&b = 5
+
a&b = 5
a|b = 7
+
a|b = 7
a^b = 2
+
a^b = 2
~a = -6
+
~a = -6
a= 5
+
a= 5
Bit-Shift Operators (Shift Operators)  
+
 
 +
==Bit-Shift Operators (Shift Operators)==
  
 
Shift operators are used to shift the bits of a number left or right, thereby multiplying or dividing the number by two, respectively. They can be used when we have to multiply or divide a number by two.  
 
Shift operators are used to shift the bits of a number left or right, thereby multiplying or dividing the number by two, respectively. They can be used when we have to multiply or divide a number by two.  
  
Syntax:  
+
Sintaks:  
  
 
  number shift_op number_of_places_to_shift;
 
  number shift_op number_of_places_to_shift;
 +
 
Types of Shift Operators:
 
Types of Shift Operators:
  
 
Shift Operators are further divided into 4 types. These are:
 
Shift Operators are further divided into 4 types. These are:
  
Signed Right shift operator (>>)
+
Signed Right shift operator (>>)
Unsigned Right shift operator (>>>)
+
Unsigned Right shift operator (>>>)
Left shift operator
+
Left shift operator
Unsigned Left shift operator (<<<)
+
Unsigned Left shift operator (<<<)
 +
 
 
Note: For more detail about the Shift Operators in Java, refer Shift Operator in Java.
 
Note: For more detail about the Shift Operators in Java, refer Shift Operator in Java.
  

Revision as of 06:32, 7 May 2022

Operators constitute the basic building block to any programming language. Java too provides many types of operators which can be used according to the need to perform various calculations and functions, be it logical, arithmetic, relational, etc. They are classified based on the functionality they provide. Here are a few types:

  • Operator Arithmetic Operators
  • Operator Unary Operators
  • Operator Assignment Operator
  • Operator Relational Operators
  • Operator Logical Operators
  • Operator Ternary Operator
  • Operator Bitwise Operators
  • Operator Shift Operators

This article explains all that one needs to know regarding Bitwise Operators.

Operator Bitwise

Bitwise operators are used to perform the manipulation of individual bits of a number. They can be used with any integral type (char, short, int, etc.). They are used when performing update and query operations of the Binary indexed trees.

Now let’s look at each one of the bitwise operators in Java:

1. Bitwise OR (|)

This operator is a binary operator, denoted by ‘|’. It returns bit by bit OR of input values, i.e., if either of the bits is 1, it gives 1, else it shows 0.

Contoh:

a = 5 = 0101 (In Binary)
b = 7 = 0111 (In Binary)

Bitwise OR Operation of 5 and 7

  0101
| 0111
 ________
  0111  = 7 (In decimal) 

2. Bitwise AND (&)

This operator is a binary operator, denoted by ‘&.’ It returns bit by bit AND of input values, i.e., if both bits are 1, it gives 1, else it shows 0.

Contoh:

a = 5 = 0101 (In Binary)
b = 7 = 0111 (In Binary)

Bitwise AND Operation of 5 and 7

  0101
& 0111
 ________
  0101  = 5 (In decimal) 

3. Bitwise XOR (^)

This operator is a binary operator, denoted by ‘^.’ It returns bit by bit XOR of input values, i.e., if corresponding bits are different, it gives 1, else it shows 0.

Contoh:

a = 5 = 0101 (In Binary)
b = 7 = 0111 (In Binary)

Bitwise XOR Operation of 5 and 7

  0101
^ 0111
 ________
  0010  = 2 (In decimal) 

4. Bitwise Complement (~)

This operator is a unary operator, denoted by ‘~.’ It returns the one’s complement representation of the input value, i.e., with all bits inverted, which means it makes every 0 to 1, and every 1 to 0.

Contoh:

a = 5 = 0101 (In Binary)

Bitwise Complement Operation of 5

~ 0101
 ________
  1010  = 10 (In decimal) 

Note: Compiler will give 2’s complement of that number, i.e., 2’s complement of 10 will be -6.

// Java program to illustrate
// bitwise operators
 
public class operators {
    public static void main(String[] args)
    {
        // Initial values
        int a = 5;
        int b = 7;
 
        // bitwise and
        // 0101 & 0111=0101 = 5
        System.out.println("a&b = " + (a & b));
 
        // bitwise or
        // 0101 | 0111=0111 = 7
        System.out.println("a|b = " + (a | b));
 
        // bitwise xor
        // 0101 ^ 0111=0010 = 2
        System.out.println("a^b = " + (a ^ b));
 
        // bitwise not
        // ~0101=1010
        // will give 2's complement of 1010 = -6
        System.out.println("~a = " + ~a);

        // can also be combined with
        // assignment operator to provide shorthand
        // assignment
        // a=a&b
        a &= b;
        System.out.println("a= " + a);
    }
}

Output

a&b = 5
a|b = 7
a^b = 2
~a = -6
a= 5

Bit-Shift Operators (Shift Operators)

Shift operators are used to shift the bits of a number left or right, thereby multiplying or dividing the number by two, respectively. They can be used when we have to multiply or divide a number by two.

Sintaks:

number shift_op number_of_places_to_shift;

Types of Shift Operators:

Shift Operators are further divided into 4 types. These are:

Signed Right shift operator (>>)
Unsigned Right shift operator (>>>)
Left shift operator
Unsigned Left shift operator (<<<)

Note: For more detail about the Shift Operators in Java, refer Shift Operator in Java.


Referensi