¿Qué significa <<= en lenguaje C?
Los operadores de bits y los operadores de asignación pueden formar operadores de asignación compuestos, por ejemplo, ?a << =2 es equivalente a a = a << 2
1. operador de desplazamiento (<<)
El operador de desplazamiento a la izquierda se utiliza para mover un dígito binario hacia la izquierda una cantidad de bits para mover el número especificado por el operando derecho (el operando derecho debe ser un no- número negativo), y los bits vacíos en el Pad derecho con 0 para descartar los bits altos del desbordamiento izquierdo.
El operando debe ser un número no negativo) y los bits vacíos de la derecha se rellenan con 0. Si el bit alto de desplazamiento a la izquierda se desborda, el bit alto se descarta.
Por ejemplo, si el número binario a se desplaza 2 bits, los bits vacíos de la derecha se llenarán con ceros y los bits desbordados de la izquierda se descartarán.
Si a=15, que es 00001111 (2), se desplaza 2 bits hacia la izquierda, el bit se convertirá en 00111100 (2).
Desplazar 1 bit hacia la izquierda equivale a multiplicar el número por 2, desplazar 2 bits hacia la izquierda equivale a multiplicar el número por 2*2 = 4, 15