>>=

Asignación operativa. Operación binaria de rotación a la derecha.

Las sentencias de asignación sirven para calcular expresiones y asignárselas a un dato.

<referencia a un dato> = <expresión> ;

Si se utiliza el símbolo >>= en lugar de = para realizar la asignación, se asignará al dato el resultado de la siguiente rotación:

  [valor_anterior_del_dato] >> [resultado_de_la_expresión]

O lo que es equivalente (la función POW(2, n) devuelve 2 elevado a n):

  [valor_anterior_del_dato] / POW(2, [resultado_de_la_expresión])

Es decir, si el resultado de la expresión es:

  0 -> el dato mantendrá su valor.
  1 -> el dato será dividido por 2.
  2 -> el dato será dividido por 4.
  3 -> el dato será dividido por 8.
  ...

Ejemplo: x=8; x>>=2; -> (x=2)

El resultado de una rotación a la derecha será siempre un número entero, sin decimales, es decir, el cociente de la división entera anterior.

Ejemplo: x=9; x>>=2; -> (x=2)


Nota: Este símbolo es una simple abreviatura derivada del lenguaje C; en cualquier caso, una sentencia del tipo n >>= m; será equivalente a esta otra n = n >> m;.

Ver el operador >> para más información sobre la rotación a la derecha.


Ver: Sintaxis - Asignación