Pengendali Bitwise JavaScript (dengan Contoh)

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 & 0ialah 0
0 1 0 & 1ialah 0
1 0 1 & 0ialah 0
1 1 1 & 1ialah 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 00000000000000000000000000001100dan 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 ialah00000000000000000000000000001100
  • Nilai perduaan 25 ialah 00000000000000000000000000011001.
  • Apabila operasi bitwise AND dilakukan, hasil binari akan 00000000000000000000000000001000berubah 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 | 0ialah 0
0 1 0 | 1ialah 1
1 0 1 | 0ialah 1
1 1 1 | 1ialah 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 00000000000000000000000000011101berubah 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 0ialah 0
0 1 0 1ialah 1
1 0 1 0ialah 1
1 1 1 1ialah 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 00000000000000000000000000010101berubah 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 11111111111111111111111111110011ke 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.

Peralihan kiri sedikit dalam JavaScript

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.

Pergeseran kanan satu bit dengan tanda menyebarkan mengisi JavaScript

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.

Pergeseran kanan satu bit dengan JavaScript kosongkan

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);

Artikel menarik...