shift()
CATALOG
shift(entero1[,# de desplazamientos]) ⇒ entero
Desplaza los bits en un entero binario. Puede
introducirse el
numeración; se convierte de forma
automática en una forma binaria de 32 bits
con su signo correspondiente. Si la magnitud
del
entero1
forma, una operación de módulos simétricos
la lleva dentro del rango.
Si el
#de desplazamientos
desplazamiento es a la izquierda. Si
desplazamientos
es a la derecha. El valor por omisión es ë 1
(desplazamiento a la derecha de un bit).
En un desplazamiento a la derecha, se quita
el bit situado más a la derecha y se inserta 0
ó 1 para coincidir con el bit situado más a la
izquierda. En un desplazamiento a la izquierda,
se quita el bit situado más a la izquierda y se
inserta 0 como el bit situado más a la derecha.
Por ejemplo, en un desplazamiento a la derecha:
Cada bit se desplaza a la izquierda
0b00000000000001111010110000110101
Inserta 0 si el bit situado más a la
izquierda es 0, ó 1 si dicho bit es 1.
genera:
0b00000000000000111101011000011010
El resultado se presenta de acuerdo con el
estado del modo
a la izquierda.
shift(lista1 [,# de desplazamientos]) ⇒ lista
Devuelve una copia de la
la derecha o a la izquierda tantos elementos
como indica el
la
.
lista1
Si el
# de desplazamientos
desplazamiento es a la izquierda. Si el
desplazamientos
desplazamiento es a la derecha. El valor por
omisión es ë 1 (desplazamiento a la derecha
de un elemento).
Los elementos introducidos al principio o al
final de la
figuran con el símbolo "undef".
en cualquier base de
entero1
es demasiado grande para esta
es positivo, el
es negativo, el desplazamiento
Se quita
. No se ponen los ceros
Base
desplazada a
lista1
. No altera
# de desplazamientos
es positivo, el
es negativo, el
mediante el desplazamiento
lista
En el modo de base Bin:
shift(0b1111010110000110101)
¸
shift(256,1) ¸
En el modo de base Hex:
shift(0h78E) ¸
shift(0h78E,ë 2) ¸
#de
shift(0h78E,2) ¸
Importante: Para introducir un número
binario o hexadecimal, utilice siempre el
prefijo 0b ó 0h (cero, no la letra O).
En el modo de base Dec:
shift({1,2,3,4}) ¸
shift({1,2,3,4},ë 2) ¸
shift({1,2,3,4},1) ¸
# de
Apéndice A: Funciones e instrucciones
0b111101011000011010
0b1000000000
0h3C7
0h1E3
0h1E38
{undef 1 2 3}
{undef undef 1 2}
{2 3 4 undef}
501