Asignación operativa. Operación binaria de rotación a la izquierda.
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á multiplicado por 2.
2 -> el dato será multiplicado por 4.
3 -> el dato será multiplicado por 8.
...
Ejemplo: x=2; x<<=2; -> (x=8)
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 izquierda.