Operator Bit JavaScript
- Hal Sebelumnya Pemecahan Struktur JS
- Hal Berikutnya Ekspresi Reguler JS
Operator Bit JavaScript
Operator | Nama | Deskripsi |
---|---|---|
& | AND | Jika kedua bit bernilai 1, setiap bit diatur menjadi 1 |
| | OR | Jika salah satu bit bernilai 1, setiap bit diatur menjadi 1 |
^ | XOR | Jika kedua bit hanya satu yang bernilai 1, setiap bit diatur menjadi 1 |
~ | NOT | Membalikkan semua bit |
<< | Pemenuhan nol geser ke kiri | Dengan menggeser ke kiri dari kanan menempatkan nol dan melepaskan bit yang paling kiri. |
>> | Pemindahan kanan dengan tanda | Dengan menggeser ke kanan dari kiri menempatkan salinan bit yang paling kiri dan melepaskan bit yang paling kanan. |
>>> | Pemenuhan nol geser ke kanan | Dengan menggeser ke kanan dari kiri menempatkan nol dan melepaskan bit yang paling kanan. |
Contoh
Operasi | Hasil | Sama dengan | Hasil |
---|---|---|---|
5 & 1 | 1 | 0101 & 0001 | 0001 |
5 | 1 | 5 | 0101 | 0001 | 0101 |
5 ^ 1 | 4 | 0101 ^ 0001 | 0100 |
~ 5 | 10 | ~0101 | 1010 |
5 << 1 | 10 | 0101 << 1 | 1010 |
5 >> 1 | 2 | 0101 >> 1 | 0010 |
5 >>> 1 | 2 | 0101 >>> 1 | 0010 |
JavaScript menggunakan bilangan bit 32 bit
JavaScript menyimpan angka sebagai bilangan pecahan 64 bit, tetapi semua operasi bit dilaksanakan dengan bilangan biner 32 bit.
Sebelum melaksanakan operasi bit, JavaScript akan mengubah angka ke bilangan bulat yang berdertak 32 bit.
Setelah melaksanakan operasi bit, hasil akan diubah kembali ke bilangan JavaScript 64 bit.
Contoh di atas menggunakan bilangan biner tak berdertak empat digit. Jadi ~5 mengembalikan 10.
Karena JavaScript menggunakan bilangan bulat yang berdertak 32 bit, JavaScript akan mengembalikan -6.
00000000000000000000000000000101 (5)
11111111111111111111111111111010 (~5 = -6)
Bilangan bulat yang berdertak mengguna pakai bit paling kiri sebagai tanda pengurang.
Operasi bitwise AND
Ketika melakukan operasi bitwise AND pada pasangan digit, jika digit semua adalah 1 mengembalikan 1.
Contoh satuan:
Operasi | Hasil |
---|---|
0 & 0 | 0 |
0 & 1 | 0 |
1 & 0 | 0 |
1 & 1 | 1 |
Contoh empat digit:
Operasi | Hasil |
---|---|
1111 & 0000 | 0000 |
1111 & 0001 | 0001 |
1111 & 0010 | 0010 |
1111 & 0100 | 0100 |
Operasi bitwise OR
Ketika melakukan operasi bitwise OR pada pasangan digit, jika salah satu digit adalah 1 mengembalikan 1:
Contoh satuan
Operasi | Hasil |
---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Operasi empat digit:
Operasi | Hasil |
---|---|
1111 | 0000 | 1111 |
1111 | 0001 | 1111 |
1111 | 0010 | 1111 |
1111 | 0100 | 1111 |
Operasi bitwise XOR
Ketika melakukan operasi bitwise XOR pada pasangan digit, jika digit berbeda mengembalikan 1:
Contoh satuan:
Operasi | Hasil |
---|---|
0 ^ 0 | 0 |
0 ^ 1 | 1 |
1 ^ 0 | 1 |
1 ^ 1 | 0 |
Contoh empat digit:
Operasi | Hasil |
---|---|
1111 ^ 0000 | 1111 |
1111 ^ 0001 | 1110 |
1111 ^ 0010 | 1101 |
1111 ^ 0100 | 1011 |
JavaScript Bitwise AND (&)
Jika digit-bit semua 1, operasi bitwise AND mengembalikan 1:
Desimal | Biner |
---|---|
5 | 00000000000000000000000000000101 |
1 | 00000000000000000000000000000001 |
5 & 1 | 00000000000000000000000000000001 (1) |
Contoh
var x = 5 & 1;
JavaScript Bitwise OR (|)
Jika salah satu digit adalah 1, operasi bit OR mengembalikan 1:
Desimal | Biner |
---|---|
5 | 00000000000000000000000000000101 |
1 | 00000000000000000000000000000001 |
5 | 1 | 00000000000000000000000000000101 (5) |
Contoh
var x = 5 | 1;
Operasi bit XOR (^) di JavaScript
Jika digit berbeda, XOR mengembalikan 1:
Desimal | Biner |
---|---|
5 | 00000000000000000000000000000101 |
1 | 00000000000000000000000000000001 |
5 ^ 1 | 00000000000000000000000000000100 (4) |
Contoh
var x = 5 ^ 1;
Operasi bit NOT (~) di JavaScript
Desimal | Biner |
---|---|
5 | 00000000000000000000000000000101 |
~5 | 11111111111111111111111111111010 (-6) |
Contoh
var x = ~5;
Shift kiri (<<) yang diisi dengan nol di operasi bit JavaScript
Ini adalah shift kiri yang diisi dengan nol. Satu atau beberapa digit nol dijalankan ke arah kanan, dan digit paling kiri dihapus:
Desimal | Biner |
---|---|
5 | 00000000000000000000000000000101 |
5 << 1 | 00000000000000000000000000001010 (10) |
Contoh
var x = 5 << 1;
Shift kanan (>>) yang mempertahankan tanda di operasi bit JavaScript
Ini adalah shift kanan yang mempertahankan tanda. Digit paling kiri dijalankan ke arah kiri, dan digit paling kanan dihilangkan:
Desimal | Biner |
---|---|
-5 | 11111111111111111111111111111011 |
-5 >> 1 | 11111111111111111111111111111101 (-3) |
Contoh
var x = -5 >> 1;
Shift kanan (>>>) yang diisi dengan nol di JavaScript
Ini adalah shift kanan yang diisi dengan nol. Satu atau beberapa digit nol dijalankan ke arah kiri, dan digit paling kanan dihilangkan:
Desimal | Biner |
---|---|
5 | 00000000000000000000000000000101 |
5 >>> 1 | 00000000000000000000000000000010 (2) |
Contoh
var x = 5 >>> 1;
Integer berbit 32-bit (bilangan biner)
Memahami bilangan integer 32-bit yang hanya mengatur satu digit cukup mudah:
Penggunaan Biner | Nilai Desimal |
---|---|
00000000000000000000000000000001 | 1 |
00000000000000000000000000000010 | 2 |
00000000000000000000000000000100 | 4 |
00000000000000000000000000001000 | 8 |
00000000000000000000000000010000 | 16 |
00000000000000000000000000100000 | 32 |
00000000000000000000000001000000 | 64 |
Menambahkan beberapa digit mengungkapkan pola biner:
Penggunaan Biner | Nilai Desimal |
---|---|
00000000000000000000000000000101 | 5 (4 + 1) |
00000000000000000000000000101000 | 40 (32 + 8) |
00000000000000000000000000101101 | 45 (32 + 8 + 4 + 1) |
Bilangan negatif adalah kode penambahan biner bilangan positif ditambah 1:
Penggunaan Biner | Nilai Desimal |
---|---|
00000000000000000000000000000101 | 5 |
11111111111111111111111111111011 | -5 |
00000000000000000000000000101000 | 40 |
11111111111111111111111111011000 | -40 |
11111111111111111111111111011001 | -41 |
Konversi Dari Desimal ke Biner
Contoh
function dec2bin(dec){ return (dec >>> 0).toString(2); }
Konversi Dari Biner ke Desimal
Contoh
function bin2dec(bin){ return parseInt(bin, 2).toString(10); }
- Hal Sebelumnya Pemecahan Struktur JS
- Hal Berikutnya Ekspresi Reguler JS