Operadores binarios
Operadores
Aritméticos
Binarios
Lógicos
Varios
Funciones globales
Expres. regulares
 
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, o niega, una cadena binaria conviertiendo los 1 en 0 y los 0 en 1.
Por ejemplo el número 38 escrito en sistema binario es 00100110 si le aplicamos este operador se convierte en 11011001, o sea el -39 (JavaScript usa codificación en complemento 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).
var num = 26, res;
res = num << 2;        /* num contendrá 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. Por ejemplo si al 00011010 (26) lo desplazamos 2 a la derecha tendremos el 00000110 (6).
var num = 26, res;
res = num << 2;        /* num contendrá 104 */

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. Por ejemplo
                            0 1 1 0 1 1 0 1 (109)
                     AND 0 0 1 0 0 1 1 0 (38)
resultado:            0 0 1 0 0 1 0 0 (36)
var op1 = 109, op2 = 38, res;
res = op1 & op2;      /*res contiene 36 */

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. Por ejemplo
                              0 0 1 1 1 0 1 0    (58)
                        OR  0 1 0 1 0 0 1 0     (82)
resultado:              0 1 1 1 1 0 1 0    (122)
En el ejemplo podemos ver la sintaxis del operador
var op1 = 58, op2 = 82, res;
res = op1 | op2;                    /*res contiene 122 */

XOR lógico binario ^
Realiza un XOR lógico bit a bit entre dos valores. El XOR lógico da como resultado 1 si uno sólo de los bits es 1. Por ejemplo
                              0 0 1 1 1 0 1 0    (58)
                        OR  0 1 0 1 0 0 1 0     (82)
resultado:              0 0 1 0 1 0 0 0    (40)
En el ejemplo podemos ver la sintaxis del operador
var op1 = 109, op2 = 38, res;
res = op1 ^ op2;                 /*res contiene 40*/

          


     
Envía esta página a un amigo. Te lo agradecerá.   Poner esta página como página de inicio