Comparación o manipulación de bits (continuación)
Rotación y
desplazamiento de bits
Nota: Puede seleccionar
estas funciones en el menú
/Base . Para obtener un
MATH
ejemplo con cada función,
consulte el Anexo A.
Nota: Si se introduce un
número entero demasiado
grande para almacenarse
en una forma binaria de 32
bits con su signo
correspondiente, una
operación de módulos
simétricos incorpora el valor
al rango (página 346).
348
Capítulo 20: Bases de numeración
Función con sintaxis Descripción
rotate(entero)
Si
– o –
¦
rotate(entero,
#Rotaciones)
¦
¦
En un giro a derechas, el bit situado más a la
derecha se mueve hasta la posición más a la
izquierda; viceversa en una traslación a
izquierdas.
Si
shift(entero)
– o –
¦
shift(entero,
#Desplazamientos)
¦
¦
En un desplazamiento a la derecha, el bit
situado más a la derecha se retira y se inserta 0
ó 1 para coincidir con el bit situado más a la
izquierda. En un desplazamiento a la izquierda,
el bit situado más a la izquierda se retira y se
inserta 0 como el bit situado más a la derecha.
Supongamos que introduce:
shift(0h7AC36)
Internamente, el entero
hexadecimal se convierte a un
número binario de 32 bits con
su signo correspondiente.
A continuación, se aplica el
desplazamiento al número
binario.
Cada bit se desplaza a la derecha.
0h7AC36 = 0b00000000000001111010110000110110
Inserta 0 si el bit situado más a la
izquierda es 0, o 1 si dicho bit es 1.
0b00000000000000111101011000011011 = 0h3D61B
El resultado se presenta de acuerdo con el estado del modo
:
#Rotaciones
se omite — los bits se trasladan una posición
a la derecha (el valor por omisión es ë 1).
es negativo — los bits se trasladan a la
derecha el número de veces especificado.
es positivo — los bits se trasladan a la
izquierda el número de veces especificado.
:
#Desplazamientos
se omite — los bits se desplazan una posición
a la derecha (el valor por omisión es ë 1).
es negativo — los bits se desplazan a la
derecha el número de veces especificado.
es positivo — los bits se desplazan a la
izquierda el número de veces especificado.
Si el modo Base = HEX:
Si el modo Base = BIN:
Los ceros a la izquierda no se
presentan en el resultado.
Retirado
.
Base