CoffeeScript: operadores bit a bit
CoffeeScript admite los siguientes operadores bit a bit. Asumir variableA sostiene 2 y variable B sostiene 3, entonces -
No Señor | Operador y descripción | Ejemplo |
---|---|---|
1 | & (Bitwise AND) Realiza una operación booleana AND en cada bit de sus argumentos enteros. |
(A y B) es 2. |
2 | | (BitWise OR) Realiza una operación booleana OR en cada bit de sus argumentos enteros. |
(A | B) es 3. |
3 | ^ (Bitwise XOR) Realiza una operación OR exclusiva booleana en cada bit de sus argumentos enteros. OR exclusivo significa que el operando uno es verdadero o el operando dos es verdadero, pero no ambos. |
(A ^ B) es 1. |
4 | ~ (Bitwise Not) Es un operador unario y opera invirtiendo todos los bits del operando. |
(~ B) es -4. |
5 | << (Left Shift) Mueve todos los bits de su primer operando a la izquierda el número de lugares especificado en el segundo operando. Los nuevos bits se llenan de ceros. Cambiar un valor a la izquierda en una posición equivale a multiplicarlo por 2, cambiar dos posiciones equivale a multiplicar por 4, y así sucesivamente. |
(A << 1) es 4. |
6 | >> (Right Shift) Operador de cambio a la derecha binario. El valor del operando izquierdo se mueve hacia la derecha el número de bits especificado por el operando derecho. |
(A >> 1) es 1. |
Ejemplo
El siguiente ejemplo demuestra el uso de operadores bit a bit en CoffeeScript. Guarde este código en un archivo con nombrebitwise_example.coffee
a = 2 # Bit presentation 10
b = 3 # Bit presentation 11
console.log "The result of (a & b) is "
result = a & b
console.log result
console.log "The result of (a | b) is "
result = a | b
console.log result
console.log "The result of (a ^ b) is "
result = a ^ b
console.log result
console.log "The result of (~b) is "
result = ~b
console.log result
console.log "The result of (a << b) is "
result = a << b
console.log result
console.log "The result of (a >> b) is "
result = a >> b
console.log result
Abre el command prompt y compile el archivo .coffee como se muestra a continuación.
c:/> coffee -c bitwise_example.coffee
Al compilar, le da el siguiente JavaScript.
// Generated by CoffeeScript 1.10.0
(function() {
var a, b, result;
a = 2;
b = 3;
console.log("The result of (a & b) is ");
result = a & b;
console.log(result);
console.log("The result of (a | b) is ");
result = a | b;
console.log(result);
console.log("The result of (a ^ b) is ");
result = a ^ b;
console.log(result);
console.log("The result of (~b) is ");
result = ~b;
console.log(result);
console.log("The result of (a << b) is ");
result = a << b;
console.log(result);
console.log("The result of (a >> b) is ");
result = a >> b;
console.log(result);
}).call(this);
Ahora, abre el command prompt nuevamente y ejecute el archivo CoffeeScript como se muestra a continuación.
c:/> coffee bitwise_example.coffee
Al ejecutarse, el archivo CoffeeScript produce la siguiente salida.
The result of (a & b) is
2
The result of (a | b) is
3
The result of (a ^ b) is
1
The result of (~b) is
-4
The result of (a << b) is
16
The result of (a >> b) is
0