>>
es un desplazamiento a la derecha en modo bit. Toma los bits y los desplaza hacia la derecha n lugares . Por ejemplo, vamos a examinar 35 >> 2
:
35 = 100011 shift two places
001000 = 8
Y, en efecto, 35 >> 2 == 8
.
|
es un OR bit. Se necesitan cada bit en cada operando y ORs juntos. Puede visualizarlo como una especie de adición binaria, pero no lo lleva cuando arriba y abajo son 1
. Por ejemplo, aquí está 5 | 3
:
5 = 101
3 = 011
| -----
111 = 7
Y, en efecto, 5 | 3 == 7
.
Por último, &
es una AND bit a bit. Toma cada bit en cada operando, excepto que en lugar de dar 1 si un bit O el otro es uno, da 1 si un bit Y el otro son uno. Por ejemplo, aquí está 5 & 3
:
5 = 101
3 = 011
& -----
001 = 1
Inténtelo hacia fuera; 5 & 3 == 1
.
Algunos otros es posible que desee tener en cuenta son <<
, que es un cambio a nivel de bits izquierda, y ^
, que es un XOR (0 cuando ambos bits son los mismos, 1 si son diferentes) .
En realidad, es n módulo 32. 1 >> 32
es 1
. No estoy seguro por qué.
Operadores binarios. – Pointy
(-1) Busque "operadores de JavaScript" ... -1 porque esta información está fácilmente disponible * y * ya se encuentra demasiado comúnmente en StackOverflow. –
http://stackoverflow.com/questions/6194950/single-pipe-in-javascript, http://stackoverflow.com/questions/6997909/what-do-and-mean-in-javascript –