CoffeeScript - operadores bit a bit
CoffeeScript oferece suporte aos seguintes operadores bit a bit. Assumir variávelA detém 2 e variável B detém 3, então -
Sr. Não | Operador e descrição | Exemplo |
---|---|---|
1 | & (Bitwise AND) Ele executa uma operação booleana AND em cada bit de seus argumentos inteiros. |
(A e B) é 2. |
2 | | (BitWise OR) Ele executa uma operação booleana OR em cada bit de seus argumentos inteiros. |
(A | B) é 3. |
3 | ^ (Bitwise XOR) Ele executa uma operação booleana OU exclusiva em cada bit de seus argumentos inteiros. OU exclusivo significa que o operando um é verdadeiro ou o operando dois é verdadeiro, mas não ambos. |
(A ^ B) é 1. |
4 | ~ (Bitwise Not) É um operador unário e opera invertendo todos os bits do operando. |
(~ B) é -4. |
5 | << (Left Shift) Ele move todos os bits em seu primeiro operando para a esquerda pelo número de casas especificado no segundo operando. Novos bits são preenchidos com zeros. Deslocar um valor para a esquerda em uma posição é equivalente a multiplicá-lo por 2, deslocar duas posições é equivalente a multiplicar por 4 e assim por diante. |
(A << 1) é 4. |
6 | >> (Right Shift) Operador binário de deslocamento à direita. O valor do operando esquerdo é movido para a direita pelo número de bits especificado pelo operando direito. |
(A >> 1) é 1. |
Exemplo
O exemplo a seguir demonstra o uso de operadores bit a bit no CoffeeScript. Salve este código em um arquivo com o nomebitwise_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
Abra o command prompt e compilar o arquivo .coffee conforme mostrado abaixo.
c:/> coffee -c bitwise_example.coffee
Na compilação, ele fornece o seguinte 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);
Agora, abra o command prompt novamente e execute o arquivo CoffeeScript conforme mostrado abaixo.
c:/> coffee bitwise_example.coffee
Na execução, o arquivo CoffeeScript produz a seguinte saída.
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