Operadores binarios

El ordenador, internamente, trata cualquier tipo de datos como una cadena binaria (ceros y unos). Así los números se representan en sistema binario de numeración mientras que los caracteres se convierten a código ASCII, que son números que se almacenan por tanto codificados en binario. JavaScript ofrece los operadores típicos para trabajar con estas cadenas a nivel de bit (cada uno de los ceros o unos de las cadenas binarias. Para trabajar con estos operadores es conveniente tener una idea previa sobre la codificación binaria.

  • Complementación ~.- Complementa una cadena binaria convirtiendo los 1 en 0 y los 0 en 1.Por ejemplo el número 38 escrito en sistema binario es 00100110 si le aplicamos esteoperador se convierte en 11011001, o sea el -39 (JavaScript usa codificación encomplemento a 2 para los números negativos).
  • Desplazamiento izquierda <<.- Desplaza los bits a la izquierda los lugares que se le indique rellenando con ceros por la derecha y desechando los bits de mayor peso, esto equivale a multiplicar por potencias de 2. Por ejemplo si al 00011010 (26) lo desplazamos 2 a la izquierda tendremos el 01101000 (104).
  • Desplazamiento derecha >>.- Desplaza los bits a la derecha los lugares que se le indique rellenando con ceros por la izquierda y desechando los bits de menor peso, esto equivale a una división entera por potencias de 2.
  • AND lógico binario & .- Realiza un AND lógico bit a bit entre dos valores. El AND lógico da como resultado 1 sólo si ambos bits son 1.
  • OR lógico binario.- Realiza un OR lógico bit a bit entre dos valores. El OR lógico da como resultado 0 sólo si ambos bits son 0.