1. &Operator bitwise

Kami sebelumnya mengatakan bahwa semua data disimpan dalam memori dalam representasi biner. Dahulu kala, programmer menemukan banyak cara menarik untuk bekerja dengan bilangan biner. Sebagai contoh, Java memiliki operator logis yang beroperasi pada bit representasi biner angka: &(AND), | (OR), ~(NOT atau komplemen) dan ^(XOR - eksklusif atau).

a & b
Bitwise &(DAN) operator

Operator ini sangat mirip dengan &operator logis (DAN), hanya saja dilambangkan dengan satu ampersand, bukan dua:

Dan itu diterapkan pada bit individual. Setiap operan diperlakukan sebagai larik bit, dan ibit ke-dari hasil dihitung menggunakan ibit ke-dari masing-masing dari dua operan.

Bit pertama dari hasil akan dihitung berdasarkan bit pertama dari angka a dan bit pertama dari angka tersebut b, bit kedua - berdasarkan bit kedua dari angka tersebut a dan bit kedua dari angka tersebut b, dst.

Operator &(DAN) berarti "bit yang dihasilkan sama dengan satu hanya jika bit yang sesuai dari angka tersebut asama dengan satu ANDbit yang sesuai dari angka tersebut bsama dengan satu":

1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

Contoh:

Contoh Hasil
0b0011 & 0b1010
0b0010
0b1111 & 0b0000
0b0000
0b1010 & 0b0101
0b0000
0b1111 & 0b1010
0b1010

2. |Operator bitwise

Operator ini sangat mirip dengan |operator logika (ATAU), hanya saja dilambangkan dengan satu garis vertikal, bukan dua:

a | b

Dan itu diterapkan pada bit individual. Setiap operan diperlakukan sebagai larik bit, dan bit ke-i dari hasil dihitung menggunakan bit ke-i dari masing-masing operan.

Operator bitwise |(OR) berarti "bit yang dihasilkan sama dengan satu jika bit yang sesuai dari angka tersebut asama dengan satu ORbit yang sesuai dari angka tersebut bsama dengan satu":

1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0

Contoh:

Contoh Hasil
0b0011 | 0b1010
0b1011
0b1110 | 0b0000
0b1110
0b1010 | 0b0101
0b1111
0b1111 | 0b1010
0b1111

Hanya ketika bit yang sesuai (bit pada posisi yang sama) dari kedua angka adalah nol, bit hasil yang sesuai sama dengan nol.



3. Bitwise ^(XOR atau "eksklusif atau") operator

Operator XOR, juga diucapkan eksklusif atau , dilambangkan dengan ^simbol. Untuk memasukkannya di keyboard, tekan shift + 6 (pada tata letak keyboard bahasa Inggris).

a ^ b

Operator ini agak mirip dengan ORoperator, termasuk memiliki nama yang mirip:XOR

Operator bitwise ^(XOR) berarti "bit yang dihasilkan sama dengan satu jika bit yang sesuai dari angka tersebut asama dengan satu ORbit yang sesuai dari angka tersebut bsama dengan satu tetapi tidak keduanya sekaligus":

1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0

Contoh:

Contoh Hasil
0b0011 ^ 0b1010
0b1001
0b1110 ^ 0b0000
0b1110
0b1010 ^ 0b0101
0b1111
0b1111 ^ 0b1010
0b0101

Hanya ketika bit yang sesuai (bit pada posisi yang sama) dari kedua angka berbeda , bit hasil yang sesuai sama dengan satu . Jika bitnya sama , bit yang dihasilkan sama dengan nol .



~4. Operator bitwise (BUKAN, COMPLEMENT).

Saya pikir Anda sudah bisa menebak apa fungsinya. Operator ini sangat mirip dengan !operator logis (BUKAN), tetapi dilambangkan dengan tilde , bukan tanda seru:

~a

Ini adalah operator unary , artinya berlaku untuk satu nomor, bukan dua. Itu muncul sebelum operan tunggal ini.

Operator bitwise ~berarti "bit yang dihasilkan adalah satu jika bit yang sesuai dari angka tersebut aadalah nol, dan nol jika bit yang sesuai dari angka tersebut aadalah satu":

~1 = 0
~0 = 1

Contoh:

Contoh Hasil
~0b0011
0b1100
~0b0000
0b1111
~0b0101
0b1010
~0b1111
0b0000

Operator ini hanya mengubah bit to 1dan 0bit 0to 1.