CoffeeScript: operatori bit per bit
CoffeeScript supporta i seguenti operatori bit per bit. Assumi variabileA tiene 2 e variabile B tiene 3, quindi -
Suor n | Operatore e descrizione | Esempio |
---|---|---|
1 | & (Bitwise AND) Esegue un'operazione booleana AND su ogni bit dei suoi argomenti interi. |
(A e B) è 2. |
2 | | (BitWise OR) Esegue un'operazione booleana OR su ogni bit dei suoi argomenti interi. |
(A | B) è 3. |
3 | ^ (Bitwise XOR) Esegue un'operazione booleana OR esclusivo su ogni bit dei suoi argomenti interi. OR esclusivo significa che uno degli operandi uno è vero o l'operando due è vero, ma non entrambi. |
(A ^ B) è 1. |
4 | ~ (Bitwise Not) È un operatore unario e opera invertendo tutti i bit nell'operando. |
(~ B) è -4. |
5 | << (Left Shift) Sposta tutti i bit nel suo primo operando a sinistra del numero di posizioni specificato nel secondo operando. I nuovi bit vengono riempiti con zeri. Spostare un valore a sinistra di una posizione equivale a moltiplicarlo per 2, spostare due posizioni equivale a moltiplicarlo per 4 e così via. |
(A << 1) è 4. |
6 | >> (Right Shift) Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro. |
(A >> 1) è 1. |
Esempio
L'esempio seguente mostra l'utilizzo di operatori bit per bit in CoffeeScript. Salva questo codice in un file con 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
Apri il command prompt e compila il file .coffee come mostrato di seguito.
c:/> coffee -c bitwise_example.coffee
Durante la compilazione, ti dà il seguente 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);
Ora apri il file command prompt di nuovo ed eseguire il file CoffeeScript come mostrato di seguito.
c:/> coffee bitwise_example.coffee
All'esecuzione, il file CoffeeScript produce il seguente output.
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