Section Artikel Show
Operator Bitwise JavaScript
Contoh
JavaScript Menggunakan 32 bit Bitwise OperandJavaScript menyimpan angka sebagai 64 bit angka floating point, tetapi semua operasi bitwise dilakukan pada 32 bit angka biner. Sebelum operasi bitwise dilakukan, JavaScript mengonversi angka menjadi 32 bit bilangan bulat bertanda. Setelah operasi bitwise dilakukan, hasilnya diubah kembali menjadi 64 bit nomor JavaScript. Contoh
di atas menggunakan 4 bit unsigned binary number. Bitwise ANDKetika suatu bitwise AND dilakukan pada sepasang bit, maka akan mengembalikan 1 jika kedua bit adalah 1. Contoh satu bit:
Contoh 4 bit:
Bitwise ORKetika bitwise OR dilakukan pada sepasang bit, ia mengembalikan nilai 1 jika salah satu bit adalah 1: Contoh satu bit:
Contoh 4 bit:
Bitwise XORKetika operasi bitwise XOR dilakukan pada sepasang bit, ia mengembalikan 1 jika bit berbeda. Contoh satu bit:
Contoh 4 bit:
JavaScript Bitwise AND (&)Bitwise AND mengembalikan 1 hanya jika kedua bit adalah 1:
Contoh: <!DOCTYPE html> <html> <body> <h2>JavaScript Bitwise AND</h2> <p id="demo">Paragraf pertamaku.</p> <script> document.getElementById("demo").innerHTML = 5 & 1; </script> </body> </html> JavaScript Bitwise OR (|)Bitwise OR mengembalikan 1 jika salah satu bitnya 1:
Contoh: <!DOCTYPE html> <html> <body> <h2>JavaScript Bitwise OR</h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = 5 | 1; </script> </body> </html> JavaScript Bitwise XOR (^)Bitwise XOR mengembalikan 1 jika bitnya berbeda:
Contoh: <!DOCTYPE html> <html> <body> <h2>JavaScript Bitwise XOR</h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = 5 ^ 1; </script> </body> </html> JavaScript Bitwise NOT (~)
Contoh: <!DOCTYPE html> <html> <body> <h2>JavaScript Bitwise NOT</h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = ~ 5; </script> </body> </html> JavaScript (Zero Fill) Bitwise Left Shift (<<)Ini adalah shift kiri pengisian nol. Satu atau lebih bit nol didorong dari kanan, dan bit paling kiri akan terlepas.
Contoh: <!DOCTYPE html> <html> <body> <h2>JavaScript Bitwise Left</h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = 5 << 1; </script> </body> </html> JavaScript (Sign Preserving) Bitwise Right Shift (>>)Ini adalah Sign Preserving pergeseran kanan. Salinan bit paling kiri didorong dari kiri, dan bit paling kanan terlepas:
Contoh: <!DOCTYPE html> <html> <body> <h2>JavaScript Sign Preserving Bitwise Right.</h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = -5 >> 1; </script> </body> </html> JavaScript (Zero Fill) Right Shift (>>>)Ini adalah shift kanan pengisian nol. Satu atau lebih bit nol didorong dari kiri, dan bit paling kanan jatuh:
Contoh: <!DOCTYPE html> <html> <body> <h2>JavaScript Bitwise Right</h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = 5 >>> 1; </script> </body> </html> Bilangan BinerBilangan biner dengan hanya satu set bit mudah dipahami:
Mengatur beberapa bit lagi akan mengungkapkan pola biner:
Bilangan biner JavaScript disimpan dalam format komplemen dua. Ini berarti bahwa angka negatif adalah bitwise BUKAN dari angka tersebut ditambah 1:
Mengonversi Desimal ke BinerContoh: <!DOCTYPE html> <html> <body> <h2> JavaScript Ubah Desimal ke Biner </h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = dec2bin(-5); function dec2bin(dec){ return (dec >>> 0).toString(2); } </script> </body> </html> Mengonversi Biner ke DesimalContoh: <!DOCTYPE html> <html> <body> <h2> JavaScript Mengonversi Biner ke Desimal </h2> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = bin2dec(101); function bin2dec(bin){ return parseInt(bin, 2).toString(10); } </script> </body> </html> |