¿Es correcta la frase "Cuando el operador de turno realiza una operación de turno, sin importar si se desplaza hacia la izquierda o hacia la derecha, las vacantes trasladadas siempre se llenarán con 0"?
No del todo correcto.
1. La operación de cambio es un tipo de operador de operación de cambio en la programación.
2. En c, los operadores de desplazamiento incluyen operadores de desplazamiento binario: lt; lt (desplazamiento a la izquierda) y gt; Las expresiones compuestas por operadores de desplazamiento también son expresiones aritméticas y sus valores son valores aritméticos.
3. En primer lugar, debe comprender que todas las operaciones aquí son para operaciones binarias almacenadas en la computadora. Luego debe saber que los números positivos se representan en binario en la computadora y los números negativos se representan en binario. la computadora. expresado usando códigos de complemento.
Desplazamiento a la izquierda: lt; lt;, operación de desplazamiento con signo;
Durante la operación de desplazamiento a la izquierda, todo el código binario del operando se desplaza hacia la izquierda el número de dígitos especificado. Después del desplazamiento a la izquierda Las vacantes se complementan con 0;
Desplazamiento a la derecha: gt; gt;, operación de desplazamiento con signo;
La operación de desplazamiento a la derecha es desplazar todo el código binario de. el operando a la derecha el número de dígitos, los bits vacíos después del desplazamiento a la derecha se complementan con el bit de signo, si es un número positivo se complementa con 0, y si es un número negativo se complementa con 0. 1.
El único turno sin firmar es el turno a la derecha: gt; gt; gt;
Todas las vacantes después del turno a la derecha se llenan con 0.
4. Puede especificar la cantidad del turno con un valor inmediato (de 0 a 31), o con un registro que contenga un valor entre 0 y 31.
Desplazamiento lógico o aritmético a la izquierda (LSL)
MOV R1, #12
MOV R0, R1, LSL#2
R0 es 48, la suma de estas instrucciones es R0 = #12, LSL#2 es equivalente a R0 = 12 de BASIC lt;lt 2