bit32
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
Esta biblioteca proporciona funciones para realizar operaciones de manera básica.
Límites de Número
Esta biblioteca trata los números como números enteros de 32 bits; los números se convertirán en esto antes de ser usados (ver imagen abajo). Los números con números decimales se redondean al número más cercano.

Resumen
Funciones
Devuelve un número después de que sus bits se hayan movido aritméticamente a la derecha por un desplazamiento dado.
Devuelve el bitwise Y de todos los números proporcionados.
Regresa la negación de la manera bitwise de un número dado.
Devuelve el bitwise O de todos los números proporcionados.
Regresa un valor deBooleano que describe si el bitwise y sus operadores son diferentes de cero.
Devuelve el XOR de bitwise de todos los números proporcionados.
Devuelve el número dado con el orden de los bytes intercambiados.
Devuelve el número de bits de cero consecutivos en la representación de 32 bits del número proporcionado que comienza con el último bit (bit más significativo).
Devuelve el número de bits de cero secuenciales en la representación de 32 bits del número proporcionado que comienza con el último bit (menos significativo).
Extrae un rango de bits de un número y devuélvelos como un número sin firmar.
Devuelve una copia de un número con un rango de bits reemplazados por un valor dado.
Devuelve un número después de que sus bits se hayan girado a la izquierda por un número dado de veces.
Devuelve un número cuyos bits se han desplazado lógicamente a la izquierda por un desplazamiento dado.
Devuelve un número después de que sus bits se hayan girado a la derecha por un número dado de veces.
Devuelve un número cuyos bits se han desplazado lógicamente a la derecha por un desplazamiento dado.
Funciones
arshift
Devuelve el número x Shifted disp bits a la derecha. El número disp puede ser cualquier enterorepresentable. Los desplazamientos negativos se desplazan a la izquierda.
Esta operación deShift es lo que se llama arithmetic shift. Los espacios vacíos a la izquierda están llenos de copias del espacio de memoria superior; los espacios vacíos a la derecha están llenos de cero. En particular, los desplazamientos con valores absolutos mayores que 31 resultan en cero o 0XXXXXXXX (todos los espacios originales se desplazan fuera).
Parámetros
Devuelve
band
Devuelve el bitwise Y de todos los números proporcionados.
Cada bocado se prueba contra la siguiente tabla de verdad:
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
Un | B | Salida |
---|

Parámetros
Devuelve
bor
Devuelve el bitwise O de todos los números proporcionados.
Cada bocado se prueba contra la siguiente tabla de verdad:
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></tbody>
Un | B | Salida |
---|

Parámetros
Devuelve
bxor
Devuelve el XOR de bitwise de todos los números proporcionados.
Cada bocado se prueba contra la siguiente tabla de verdad:
<tbody><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>1</td><td>1</td><td>0</td></tr></tbody>
Un | B | Salida |
---|

Parámetros
Devuelve
extract
Devuelve el número firmado por los bits field a field + width - 1 de n . Los bits se cuentan desde 0 (menos significativo) hasta 31 (más significativo). Todos los bits accedidos deben estar en el rango [0, 31]. La predeterminada para 1> wide1> es 1.
Devuelve
lrotate
Devuelve el número x girado disp bits a la izquierda. El número disp puede ser cualquier enterorepresentable. Para cualquier válido desplazamiento, la siguiente identificación contiene lo siguiente:
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
En particular, los desplazamientos negativos se giran a la derecha.
Devuelve
lshift
Devuelve el número x Shifted 5 bits a la izquierda. El número disp puede ser cualquier enterorepresentable. Los desplazamientos negativos se desplazan a la derecha. En cualquier dirección, los bits vacíos se llenan con cero. En particular, los desplazamientos con valores absolutos mayores que 31 resultan en cero (todos los bits se desplazan fuera).

Para los desplazamientos positivos, la siguiente igualdad se mantiene:
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Devuelve
rrotate
Devuelve el número x girado a la derecha. El número disp puede ser cualquier enterorepresentable.
Para cualquier desplazamiento válido, la siguiente identificación contiene:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
En particular, los desplazamientos negativos se giran a la izquierda.
Devuelve
rshift
Devuelve el número x Shifted disp bits a la derecha. El número disp puede ser cualquier enterorepresentable. Los desplazamientos negativos se desplazan a la izquierda. En cualquier dirección, los bits vacíos se llenan con cero. En particular, los desplazamientos con valores absolutos mayores que 31 resultan en cero (todos los bits se desplazan fuera).

Para los desplazamientos positivos, la siguiente igualdad se mantiene:
assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))
Esta operación de cambio de velocidad se llama cambio de velocidad lógico.