CoffeeScript - Opérateurs binaires

CoffeeScript prend en charge les opérateurs binaires suivants. Supposons une variableA tient 2 et variable B tient 3, alors -

Sr.Non Opérateur et description Exemple
1

& (Bitwise AND)

Il effectue une opération booléenne AND sur chaque bit de ses arguments entiers.

(A & B) est égal à 2.
2

| (BitWise OR)

Il effectue une opération booléenne OU sur chaque bit de ses arguments entiers.

(A | B) vaut 3.
3

^ (Bitwise XOR)

Il effectue une opération OU exclusive booléenne sur chaque bit de ses arguments entiers. OU exclusif signifie que l'opérande un est vrai ou que l'opérande deux est vrai, mais pas les deux.

(A ^ B) vaut 1.
4

~ (Bitwise Not)

C'est un opérateur unaire et fonctionne en inversant tous les bits de l'opérande.

(~ B) est -4.
5

<< (Left Shift)

Il déplace tous les bits de son premier opérande vers la gauche du nombre de places spécifié dans le deuxième opérande. Les nouveaux bits sont remplis de zéros. Décaler une valeur vers la gauche d'une position équivaut à la multiplier par 2, déplacer deux positions équivaut à multiplier par 4, et ainsi de suite.

(A << 1) vaut 4.
6

>> (Right Shift)

Opérateur de décalage binaire vers la droite. La valeur de l'opérande gauche est déplacée vers la droite du nombre de bits spécifié par l'opérande droit.

(A >> 1) vaut 1.

Exemple

L'exemple suivant illustre l'utilisation d'opérateurs binaires dans CoffeeScript. Enregistrez ce code dans un fichier avec un nombitwise_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

Ouvrez le command prompt et compilez le fichier .coffee comme indiqué ci-dessous.

c:/> coffee -c bitwise_example.coffee

Lors de la compilation, il vous donne le JavaScript suivant.

// 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);

Maintenant, ouvrez le command prompt à nouveau et exécutez le fichier CoffeeScript comme indiqué ci-dessous.

c:/> coffee bitwise_example.coffee

Lors de l'exécution, le fichier CoffeeScript produit la sortie suivante.

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