>>
là sự dịch chuyển bit đúng. Phải mất các bit và thay đổi chúng ngay n địa điểm . Ví dụ: hãy xem xét 35 >> 2
:
35 = 100011 shift two places
001000 = 8
Và thực sự, 35 >> 2 == 8
.
|
là bitwise HOẶC. Phải mất mỗi bit trong mỗi toán hạng và ORs chúng lại với nhau. Bạn có thể hình dung nó như một loại bổ sung nhị phân, nhưng bạn không mang theo khi cả hai đầu và cuối là 1
. Ví dụ, đây là 5 | 3
:
5 = 101
3 = 011
| -----
111 = 7
Và quả thực, 5 | 3 == 7
.
Cuối cùng, &
là bitwise AND. Phải mất mỗi bit trong mỗi toán hạng, ngoại trừ thay vì cho 1 nếu một bit hoặc khác là một bit, nó cho 1 nếu một bit và khác là cả hai. Ví dụ: đây là 5 & 3
:
5 = 101
3 = 011
& -----
001 = 1
Hãy dùng thử; 5 & 3 == 1
.
Một số những người khác mà bạn có thể muốn phải nhận thức được là <<
, đó là một sự thay đổi Bitwise trái, và ^
, mà là một XOR (0 khi cả hai bit là như nhau, 1 nếu chúng khác nhau) .
Thực ra, nó là n modulo 32. 1 >> 32
là 1
. Không chắc chắn lý do tại sao.
Toán tử nhị phân. – Pointy
(-1) Tìm kiếm "nhà khai thác JavaScript" ... -1 vì đây là thông tin có sẵn * và * đã được tìm thấy quá phổ biến trên StackOverflow. –
http://stackoverflow.com/questions/6194950/single-pipe-in-javascript, http://stackoverflow.com/questions/6997909/what-do-and-mean-in-javascript –