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.