Dalam tutorial ini, anda akan belajar mengenai pengendali bitwise JavaScript dan jenisnya dengan bantuan contoh.
Pengendali Bitwise JavaScript
Pengendali bitwise memperlakukan operandanya sebagai satu set digit binari 32-bit (nol dan angka) dan melakukan tindakan. Walau bagaimanapun, hasilnya ditunjukkan sebagai nilai perpuluhan.
Pengendali | Nama | Contohnya |
---|---|---|
& | Sedikit demi sedikit DAN | x & y |
| | Sedikit demi sedikit ATAU | x | y |
^ | Bitwise XOR | x y |
~ | Sedikit demi sedikit TIDAK | ~x |
<< | Pergeseran kiri | x << y |
>> | Peralihan ke kanan tanda penyebaran | x>> y |
>>> | Peralihan kanan sifar | x>>> y |
Catatan : Bilangan bulat minimum dan maksimum yang dapat ditunjukkan melalui nombor bertanda 32-bit adalah -2147483648 hingga 2147483647.
JavaScript Bitwise DAN
Bitwise AND &
mengembalikan 1 jika bit yang sesuai dari kedua-dua operan itu 1 yang lain akan mengembalikan 0 .
Operan 1 | Operan 2 | DAN Operasi |
---|---|---|
0 | 0 | 0 & 0 ialah 0 |
0 | 1 | 0 & 1 ialah 0 |
1 | 0 | 1 & 0 ialah 0 |
1 | 1 | 1 & 1 ialah 1 |
Mari kita lihat operasi bitwise AND dua integer 12 dan 25 .
Dalam perduaan, 12 = 01100 25 = 11001 // Bitwise DAN Operasi 12 dan 25 00001100 & 00011001 --------- 00001000 = 8 (Dalam perpuluhan)
Nota : Menukar 12 hingga 32 bit memberi kita 00000000000000000000000000001100
dan 25 memberi 00000000000000000000000000011001
. Walau bagaimanapun, kami telah membuang angka nol sebelumnya untuk kesederhanaan.
Contoh 1: Bitwise DAN Operator
// bitwise AND operator example let a = 12; let b = 25; result = a & b; console.log(result); // 8
Dalam program di atas,
- Nilai perduaan 12 ialah
00000000000000000000000000001100
- Nilai perduaan 25 ialah
00000000000000000000000000011001
. - Apabila operasi bitwise AND dilakukan, hasil binari akan
00000000000000000000000000001000
berubah menjadi nilai perpuluhan 8.
JavaScript Bitwise ATAU
Bitwise ATAU |
mengembalikan 1 jika salah satu bit yang sesuai dari satu operan adalah 1 yang lain mengembalikan 0 .
Operan 1 | Operan 2 | ATAU Operasi |
---|---|---|
0 | 0 | 0 | 0 ialah 0 |
0 | 1 | 0 | 1 ialah 1 |
1 | 0 | 1 | 0 ialah 1 |
1 | 1 | 1 | 1 ialah 1 |
Mari kita lihat operasi bitwise ATAU dua integer 12 dan 25 .
Dalam perduaan, 12 = 01100 25 = 11001 // Bitwise ATAU Operasi 12 dan 25 00001100 | 00011001 -------- 00011101 = 29 (Dalam perpuluhan)
Contoh 2: Bitwise ATAU Operator
// bitwise OR operator example let a = 12; let b = 25; result = a | b; console.log(result); // 29
Apabila operasi bitwise ATAU dilakukan, hasil binari akan 00000000000000000000000000011101
berubah menjadi nilai perpuluhan 29.
JavaScript Bitwise XOR
Bitwise XOR ^
mengembalikan 1 jika bit yang sesuai berbeza dan mengembalikan 0 jika bit yang sesuai adalah sama.
Operan 1 | Operan 2 | Operasi XOR |
---|---|---|
0 | 0 | 0 0 ialah 0 |
0 | 1 | 0 1 ialah 1 |
1 | 0 | 1 0 ialah 1 |
1 | 1 | 1 1 ialah 0 |
Dalam perduaan, 12 = 01100 25 = 11001 // Operasi Bitwise XOR 12 dan 25 00001100 00011001 -------- 00010101 = 21 (Dalam perpuluhan)
Contoh 3: Pengendali Bitwise XOR
// bitwise XOR operator example let a = 12; let b = 25; result = a b; console.log(result); // 21
Apabila operasi XOR bitwise dilakukan, hasil binari akan 00000000000000000000000000010101
berubah menjadi nilai perpuluhan 21.
JavaScript Bitwise TIDAK
Bitwise TIDAK ~
membalikkan bit ( 0 menjadi 1 , 1 menjadi 0 ).
Dalam perduaan, 12 = 00000000000000000000000000001100 // Bitwise Bukan Operasi 12 ~ 00000000000000000000000000001100 --------------------------------- 1111111111111111111111111111110011 = -13 (Dalam perpuluhan)
Semasa menukar 11111111111111111111111111110011
ke perpuluhan, nilainya akan menjadi 4294967283. Tetapi apabila menggunakan operator bitwise, nilainya dihitung dalam format pelengkap yang ditandatangani 2 kecuali untuk pergeseran kanan sifar-mengisi.
Pelengkap 2 dikira dengan membalikkan bit (pelengkap 1) dan kemudian menambahkan 1 . Sebagai contoh,
13 in binary: 00000000000000000000000000001101 1's complement of 13: 11111111111111111111111111110010 2's complement of 13: 11111111111111111111111111110010 +1 --------------------------------- 11111111111111111111111111110011
Notice the 2's complement of 13 (i.e. -13) is 11111111111111111111111111110011
. This value is equivalent to the bitwise NOT of 12.
Example 4: Bitwise NOT Operator
// bitwise NOT operator example let b = 12; result = ~b; console.log(result); // -13
When bitwise NOT operation is performed, the binary result will be 11111111111111111111111111110011
which converts into the decimal value -13.
Note: Bitwise NOT of a number x gives -(x + 1). Notice above ~2
gives -3.
JavaScript Left shift
Dalam operator shift kiri <<
, operan kiri menentukan nombor dan operan kanan menentukan nombor yang akan digeser ke kiri. Bit sifar ditambahkan ke kanan dan bit berlebihan dari kiri dibuang.

Sebagai contoh,
let a = 8; let b = 1; result = a << b; // 1 ( 00000000000000000000000000010000 ) console.log(result);
Peralihan ke kanan menggunakan isyarat JavaScript
Dalam operator peralihan kanan >>
, operan pertama menentukan nombor dan operan kedua menentukan nombor yang akan dialihkan ke kanan. Lebihan bit dari kanan dibuang. Salinan bit paling kiri dialihkan dari kiri, oleh itu namanya menyebarkan tanda.

Sebagai contoh,
let a = 8; let b = 1; // 11111111111111111111111111111101 let c = -3; result = a>> b; result1 = c>> b; // 4 (00000000000000000000000000000100) console.log(result); // -1 (11111111111111111111111111111111) console.log(result1);
Peralihan kanan sifar JavaScript
Peralihan kanan sifar >>>
menggeser operan ke kanan dengan mengisi bit sifar ke kiri. Lebihan bit dari kanan dibuang.

Sebagai contoh,
let a = 8; let b = 1; let c = -3; result = a>>> b; result1 = c>>> b; // 4 (00000000000000000000000000000100) console.log(result); // 1073741823 (00111111111111111111111111111111) console.log(result);