bit32
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
Questa libreria fornisce funzioni per eseguire operazioni bitwise.
Limitazioni di numero
Questa libreria tratta i numeri come interi 32-bit non firmati; i numeri verranno convertiti in questo prima di essere utilizzati (vedi immagine sotto). I numeri con numeri decimali sono arrotondati al numero intero più vicino.

Sommario
Funzioni
Restituisce un numero dopo che i suoi bit sono stati spostati aritmeticamente a destra da un determinato spostamento.
Restituisce il bitwise E di tutti i numeri forniti.
Ritorna la negazione bitwise di un numero specificato.
Restituisce il bitwise OР di tutti i numeri forniti.
Restituisce un booleano che indica se il bitwise e dei suoi operanti sono diversi da zero.
Restituisce l'XOR bitwise di tutti i numeri forniti.
Restituisce il numero specificato con l'ordine dei bit scambiati.
Restituisce il numero di bit zero consecutivi nella rappresentazione a 32 bit del numero fornito che inizia dalla bit più a sinistra (la più significativa).
Restituisce il numero di bit zero consecutivi nella rappresentazione a 32 bit del numero fornito che inizia dal bit più a destra (meno significativo).
Estrae un insieme di bit da un numero e restituiscili come un numero non firmato.
Restituisci una copia di un numero con una gamma di bit sostituita da un valore specificato.
Restituisce un numero dopo che i suoi bit sono stati ruotati a sinistra per un dato numero di volte.
Restituisce un numero il cui bit sono stati spostati in modo logico a sinistra da un determinato spostamento.
Restituisce un numero dopo che i suoi bit sono stati rotolati a destra da un dato numero di volte.
Restituisce un numero il cui bit sono stati spostati logicamente a destra da un determinato spostamento.
Funzioni
arshift
Ritorna il numero x spostato disp bit a destra. Il numero disp può essere qualsiasi Integrorappresentabile. I negative displacementi spostano a sinistra.
Questa operazione di spostamento è chiamata spostamento aritmetico. I bit vuoti a sinistra sono riempiti con copie del bit superiore di x ; i bit vuoti a destra sono riempiti con zeri. In particolare, i spostamenti con valori assoluti più elevati di 31 risultano in zero o 0XXXFFFFFF (tutti i bit sono spostati fuori).
Parametri
Restituzioni
band
Restituisce il bitwise E di tutti i numeri forniti.
Ogni bit è testato contro la seguente tabella di verità:
<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 | Uscita |
---|

Parametri
Restituzioni
bor
Restituisce il bitwise OР di tutti i numeri forniti.
Ogni bit è testato contro la seguente tabella di verità:
<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 | Uscita |
---|

Parametri
Restituzioni
bxor
Restituisce l'XOR bitwise di tutti i numeri forniti.
Ogni bit è testato contro la seguente tabella di verità:
<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 | Uscita |
---|

Parametri
Restituzioni
extract
Ritorna il numero non firmato formato dai bit field a field + width - 1 da n . I bit sono numerati da 0 (meno importante) a 31 (più importante). Tutti i bit acceduti devono essere nella gamma [0, 31]. Il valore predefinito per 1> wide1> è 1.
Restituzioni
lrotate
Ritorna il numero x bit rotati a sinistra. Il numero disp può essere qualsiasi Integrorappresentabile. Per qualsiasi validi spostamenti, il seguente identificatore contiene:
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
In particolare, i negativi spostamenti di posizione ruotano a destra.
Restituzioni
lshift
Ritorna il numero x spostato disp bit a sinistra. Il numero disp può essere qualsiasi Integrorappresentabile. I negative spostamenti spostati a sinistra. In qualsiasi direzione, i bit vuoti sono riempiti con zeri. In particolare, i spostamenti con valori assoluti più di 31 risultano in zero (tutti i bit sono spostati fuori).

Per i positivi spostamenti, la seguente uguiglianza tiene conto:
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Restituzioni
rrotate
Restituisce il numero x bit rotati a destra. Il numero disp può essere qualsiasi Integrorappresentabile.
Per qualsiasi spostamento valido, l'identità seguente contiene:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
In particolare, i negativi spostamenti di spostamento ruotano a sinistra.
Restituzioni
rshift
Ritorna il numero x spostato disp bit a destra. Il numero disp può essere qualsiasi Integrorappresentabile. I negative spostamenti spostati a sinistra. In qualsiasi direzione, i bit vuoti sono riempiti con zeri. In particolare, i spostamenti con valori assoluti più di 31 risultano in zero (tutti i bit sono spostati fuori).

Per i positivi spostamenti, la seguente uguiglianza tiene conto:
assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))
Questa operazione di spostamento è chiamata spostamento logico.