Operator Bitwise di Java dengan Contoh

Java mendefinisikan beberapa operator bitwise yang dapat diterapkan ke tipe integer: panjang , int , pendek , char , dan byte . Operator-operator ini bertindak atas bit individual operan mereka. 
Mari kita meringkas semua operator bitwise sebagai:

Operator Logika Bitwise

Operator logika bitwise adalah &, |, ^, dan ~. Mari kita bahas secara singkat operator logika bitwise ini. Tabel berikut menunjukkan hasil dari setiap operasi.

The Bitwise NOT

Juga disebut pelengkap bitwise, unary NOT operator, ~, membalikkan semua bit operannya.

Bitwise AND

Operator AND, &, menghasilkan 1 bit jika kedua operan juga 1. Nol diproduksi dalam semua kasus lain.

Bitwise OR

Operator OR, |, menggabungkan bit sedemikian rupa sehingga jika salah satu bit dalam operand adalah 1, maka bit yang dihasilkan adalah 1.

The Bitwise XOR

Operator XOR, ^, menggabungkan bit sedemikian rupa sehingga jika satu operand adalah 1, maka hasilnya adalah 1. Jika tidak, hasilnya adalah nol.
Mari tunjukkan di atas operator logika bitwise dengan sebuah contoh.

Menggunakan Operator Bitwise Logical

Program berikut menunjukkan operator logika bitwise:
paket  net.javaguides.corejava.operators.bitwise ;

 kelas  publik BitLogic {
     public  static  void  main ( String  args []) {
         String binary [] = {
             " 0000 " ,
             " 0001 " ,
             " 0010 " ,
             " 0011 " ,
             " 0100 " ,
             " 0101 " ,
             " 0110 " ,
             "0111 ",
             " 1000 " ,
             " 1001 " ,
             " 1010 " ,
             " 1011 " ,
             " 1100 " ,
             " 1101 " ,
             " 1110 " ,
             " 1111 "
        };
        int a =  3 ; // 0 + 2 + 1 atau 0011 dalam biner 
        int b =  6 ; // 4 + 2 + 0 atau 0110 dalam biner 
        int c = a | b;
        int d = a & b;
        int e = a ^ b;
        int f = ( ~ a & b) | (a &  ~ b);
        int g =  ~ a & 0x0f ;
        Sistem . keluar . println ( " a = "  + binary [a]);
        Sistem . keluar . println ( " b = "  + binary [b]);
        Sistem . keluar . println ( " a | b = "  + binary [c]);
        Sistem . keluar . println ( " a & b = "  + binary [d]);
        Sistem . keluar . println ( "a ^ b = "  + biner [e]);
         Sistem . keluar . println ( " ~ a & b | a & ~ b = "  + biner [f]);
         Sistem . keluar . println ( " ~ a = "  + biner [g] );
    }

}
Keluaran:
 a = 0011
 b = 0110
 a|b = 0111
 a&b = 0010
 a^b = 0101
~a&b|a&~b = 0101
 ~a = 1100

Pergeseran Kiri

Operator shift kiri, << , menggeser semua bit dalam nilai ke kiri beberapa kali. Ini memiliki bentuk umum ini:
value << num
Di sini, num menentukan jumlah posisi ke kiri-pergeseran nilai dalam nilai. Artinya, << memindahkan semua bit dalam nilai yang ditentukan ke kiri dengan jumlah posisi bit yang ditentukan oleh num.
Program berikut menunjukkan konsep ini:
paket  net.javaguides.corejava.operators.bitwise ;

public  class  ByteShift {
     public  static  void  main ( String  args []) {
         byte a =  64 , b;
        int i;
        i = a <<  2 ;
        b = ( byte ) (a <<  2 );
        Sistem . keluar . println ( " Nilai asli a: "  + a);
        Sistem . keluar . println ( " i dan b: "  + i +  "  "  + b);
    }
}
Keluaran:
Original value of a: 64
i and b: 256 0

Operator Pergeseran Kanan Jawa

Operator operator kanan Java >> digunakan untuk memindahkan nilai operan kiri ke kanan dengan jumlah bit yang ditentukan oleh operan kanan. Bentuk umumnya ditunjukkan di sini:
value >> num
Di sini, num menentukan jumlah posisi ke kanan-pergeseran nilai dalam nilai. Artinya, >> memindahkan semua bit dalam nilai yang ditentukan ke kanan jumlah posisi bit yang ditentukan oleh num.
class  OperatorExample {
     public  static  void  main ( String  args []) {
         System . keluar . println ( 10  >>  2 ); // 10/2 ^ 2 = 10/4 = 2   
        Sistem . keluar . println ( 20  >>  2 ); // 20/2 ^ 2 = 20/4 = 5   
        Sistem . keluar . println ( 20  >>  3 ); // 20/2 ^ 3 = 20/8 = 2  
    }
}
Keluaran:
2
5
2

Bitwise Operator Compound Assignments

Semua operator bitwise biner memiliki bentuk senyawa yang mirip dengan operator aljabar, yang menggabungkan tugas dengan operasi bitwise. 
Misalnya, dua pernyataan berikut, yang menggeser nilai dalam kanan dengan empat bit, adalah setara:
a = a >>  4 ;
a >> =  4 ;
Demikian juga, dua pernyataan berikut, yang menghasilkan ekspresi bitwise a OR b, ekuivalen:
a = a | b;
a |= b;
Program berikut membuat beberapa variabel integer dan kemudian menggunakan tugas operator bitwise gabungan untuk memanipulasi variabel:
paket  net.javaguides.corejava.operators.bitwise ;

public  class  OpBitEquals {
     public  static  void  main ( String  args []) {
         int a =  1 ;
        int b =  2 ;
        int c =  3 ;
        a | =  4 ;
        b >> =  1 ;
        c << =  1 ;
        a ^ = c;
        Sistem . keluar . println ( " a = "  + a);
        Sistem . keluar . println ( " b = "  + b);
        Sistem . keluar . println ( " c = "  + c);
    }
}
Keluaran:
a = 3
b = 1
c = 6

1 Komentar untuk "Operator Bitwise di Java dengan Contoh"

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel