Operator Bit JavaScript

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;

Coba Sendiri

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;

Coba Sendiri

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;

Coba Sendiri

Operasi bit NOT (~) di JavaScript

Desimal Biner
5 00000000000000000000000000000101
~5 11111111111111111111111111111010 (-6)

Contoh

var x = ~5;

Coba Sendiri

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;

Coba Sendiri

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;

Coba Sendiri

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;

Coba Sendiri

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

Coba Sendiri

Konversi Dari Biner ke Desimal

Contoh

function bin2dec(bin){
    return parseInt(bin, 2).toString(10);
}

Coba Sendiri