bit32
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Diese Bibliothek bietet Funktionen, um bitwise-Operationen auszuführen.
Nummern-Beschränkungen
Diese Bibliothek behandelt Zahlen als un签名 32-Bit-Zahlen; Zahlen werden vor dem Gebrauch umgewandelt in dies (siehe unten Bild). Zahlen mit Zeichenfolgen werden auf die nächste ganze Zahl gerundet.

Zusammenfassung
Funktionen
Gibt eine Zahl zurück, nachdem ihre Bit nach einem bestimmten Versatz rechts arithmetisch verschoben wurden.
Rückgibt das bitwise und von allen angegebenen Zahlen.
Kehrt die bitwise Negation einer bestimmten Zahl zurück.
Gibt das bitwise ODER aller bereitgestellten Zahlen zurück.
Gibt einenBoolean zurück, der anzeigt, ob das Bitwise und seine Operatoren von Null abweichen.
Kehrt die bitwise XOR aller bereitgestellten Zahlen zurück.
Gibt die angegebene Zahl mit der Reihenfolge der getauschten Bytes zurück.
Gibt die Anzahl der niedrigsten Einheiten in der 32-Bit-Repräsentation der angegebenen Zahl aus dem linken (am meisten signifikanten) Bit zurück.
Gibt die Anzahl der niedrigsten Nullstellen in der 32-Bit-Repräsentation der angegebenen Zahl zurück.
Extrahiere eine Reihe von Bits aus einer Zahl und gib sie als un签名ierte Zahl zurück.
Geben Sie eine Kopie einer Zahl mit einem Bereich von Bits durch einen bestimmten Wert zurück.
Rückgibt eine Zahl, nachdem ihre Bitte um eine bestimmte Anzahl von Zeiten nach links gedreht wurden.
Gibt eine Zahl zurück, deren Bit sich logisch nach links verschoben wurde.
Rückgibt eine Zahl, nachdem ihre Bitte um einen bestimmten Zeitpunkt drehen wurde.
Gibt eine Zahl zurück, deren Bit sich logisch auf die rechte Seite verschoben wurde.
Funktionen
arshift
Kehre die Zahl x Shifted disp Bits nach rechts zurück. Die Zahl disp kann ein beliebiges repräsentables Zahl sein. Negative Verschiebungen verschieben nach links.
Diese Verschiebung ist dasjenige, was als arithmetisches Verschieben bekannt ist. Die freien Bits links werden mit Kopien des höheren Bits von x gefüllt; die freien Bits rechts werden mit Nullen gefüllt. Im Besonderen sind Displaceds mit absoluten Werten höher als 31 durch Null oder 0xFFFFFFFF (alle ursprünglichen Bits werden verschoben).
Parameter
Rückgaben
band
Rückgibt das bitwise und von allen angegebenen Zahlen.
Jeder Bite wird gegen die folgende Wahrheitsliste getestet:
<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>
Ein | B | Ausgabe |
---|

Parameter
Rückgaben
bor
Gibt das bitwise ODER aller bereitgestellten Zahlen zurück.
Jeder Bite wird gegen die folgende Wahrheitsliste getestet:
<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>
Ein | B | Ausgabe |
---|

Parameter
Rückgaben
bxor
Kehrt die bitwise XOR aller bereitgestellten Zahlen zurück.
Jeder Bite wird gegen die folgende Wahrheitsliste getestet:
<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>
Ein | B | Ausgabe |
---|

Parameter
Rückgaben
extract
Gibt die mit den Bits field zu field + width - 1 von n . Bits sind von 0 (am wenigsten signifikant) bis 31 (am meisten signifikant) nummeriert. Alle zugänglichen Bits müssen in der Reichweite [0, 31] sein. Standard für 1> wide1> ist 4> 宽
Rückgaben
lrotate
Kehre die Zahl x gedrehte disp -Blöcke links zurück. Die Zahl disp kann eine beliebige ganzzahligsein. Für jeden gültigen Versatz hält die folgende Identität:
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
Insbesondere negative Verschiebungen drehen sich rechts.
Rückgaben
lshift
Kehre die Zahl x mit verschobenen disp-Bitumen nach links zurück. Die Zahl disp kann ein beliebiges repräsentables ganzzahligsein. Negative Verschiebungen verschieben nach rechts. In jeder Richtung sind freie Bit mit Nullen gefüllt. Insbesondere Verschiebungen mit absoluten Werten höher als 31 ergeben Null (alle Bit werden verschoben).

Für positive Abweichungen gilt Folgendes Gleichheitsverhältnis:
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Rückgaben
rrotate
Kehre die Zahl x gedrehte disp Bits rechts zurück. Die Zahl disp kann eine beliebige ganzzahligdarstellen.
Für jeden gültigen Versetzungszug gilt Folgendes:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
Insbesondere negative Verschiebungen drehen sich links.
Rückgaben
rshift
Kehre die Zahl x mit verschobenen disp-Bit zu der Rechten zurück. Die Zahl disp kann ein beliebiges repräsentables ganzzahligsein. Negative Verschiebungen verschieben nach links. In jeder Richtung sind freie Bit mit Nullen gefüllt. Insbesondere Verschiebungen mit absoluten Werten höher als 31 ergeben Null (alle Bit werden verschoben).

Für positive Abweichungen gilt Folgendes Gleichheitsverhältnis:
assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))
Diese Schaltflächen操作 ist das, was als logischer Schaltflächen-Shift bekannt ist.