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 zur Durchführung von Bit-Operationen.
Zahlungsbeschränkungen
Diese Bibliothek behandelt Zahlen als unsignierte 32-Bit-Zahlen; Zahlen werden vor der Verwendung konvertiert (siehe Bild unten).Zahlen mit Dezimalzahlen werden auf die nächste ganze Zahl gerundet.

Zusammenfassung
Funktionen
Gibt eine Zahl zurück, nachdem ihre Bits durch einen gegebenen Versatz arithmetisch nach rechts verschoben wurden.
Gibt das bitweise AND aller bereitgestellten Zahlen zurück.
Gibt die bitweise Negation einer bestimmten Zahl zurück.
Gibt das bitweise ODER aller bereitgestellten Zahlen zurück.
Gibt einen booleschen Wert zurück, der beschreibt, ob das Bitwise und seine Operanden von Null abweichen.
Gibt das bitweise XOR aller bereitgestellten Zahlen zurück.
Gibt die angegebene Zahl mit der Reihenfolge der ausgetauschten Bytes zurück.
Gibt die Anzahl der aufeinanderfolgenden Nullbits in der 32-Bit-Darstellung der angegebenen Zahl ab, beginnend mit dem linken (bedeutendsten) Bit.
Gibt die Anzahl der aufeinanderfolgenden Nullbits in der 32-Bit-Darstellung der angegebenen Zahl ab, beginnend mit dem rechtsletzten (unbedeutendsten) Bit.
Extrahiere eine Reihe von Bits aus einer Zahl und gib sie als unsignierte Zahl zurück.
Gib eine Kopie einer Zahl mit einer Reihe von Bits zurück, die durch einen angegebenen Wert ersetzt wurden.
Gibt eine Zahl zurück, nachdem ihre Bits von einer bestimmten Anzahl von Mal nach links gedreht wurden.
Gibt eine Zahl zurück, deren Bits durch eine gegebene Verschiebung logisch nach links verschoben wurden.
Gibt eine Zahl zurück, nachdem ihre Bits durch eine bestimmte Anzahl von Mal nach rechts gedreht wurden.
Gibt eine Zahl zurück, deren Bits durch eine gegebene Verschiebung logisch nach rechts verschoben wurden.
Funktionen
arshift
Gibt die Zahl x verschoben disp Bits nach rechts zurück.Die Zahl disp kann eine beliebige repräsentierbare Zahl sein.Negative Verschiebungen verschieben sich nach links.
Diese Verschiebungsoperation wird als arithmetische Verschiebung bezeichnet.Unbesetzte Bits auf der linken Seite werden mit Kopien des höheren Bits von x gefüllt; unbesetzte Bits auf der rechten Seite werden mit Nullen gefüllt.Insbesondere bewirken Verschiebungen mit absoluten Werten über 31 eine Null oder 0xFFFFFFFF (alle ursprünglichen Bits werden verschoben).
Parameter
Rückgaben
band
Gibt das bitweise AND aller bereitgestellten Zahlen zurück.
Jedes Bit wird gegen die folgende Wahrheitstabelle getestet:
<th>B</th><th>Ausgang</th></tr></thead><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>
A |
---|

Parameter
Rückgaben
bor
Gibt das bitweise ODER aller bereitgestellten Zahlen zurück.
Jedes Bit wird gegen die folgende Wahrheitstabelle getestet:
<th>B</th><th>Ausgang</th></tr></thead><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>
A |
---|

Parameter
Rückgaben
bxor
Gibt das bitweise XOR aller bereitgestellten Zahlen zurück.
Jedes Bit wird gegen die folgende Wahrheitstabelle getestet:
<th>B</th><th>Ausgang</th></tr></thead><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>
A |
---|

Parameter
Rückgaben
extract
Gibt die unsignierte Zahl zurück, die durch die Bits field bis field + width - 1 von n gebildet wird.Bits werden von 0 (am wenigsten signifikant) bis 31 (am bedeutendsten) nummeriert.Alle zugänglichen Bits müssen sich in dem Bereich [0, 31] befinden.Der Standard für width ist 1.
Rückgaben
lrotate
Gibt die Zahl x gedreht disp Bits nach links zurück.Die Zahl disp kann eine beliebige repräsentierbare Zahl sein.Für jede gültige Verschiebung hält die folgende Identität:
assert(bit32.lrotate(x, disp) == bit32.lrotate(x, disp % 32))
Insbesondere drehen sich negative Verschiebungen nach rechts.
Rückgaben
lshift
Gibt die Zahl x verschoben disp Bits nach links zurück.Die Zahl disp kann eine beliebige repräsentierbare Zahl sein.Negative Verschiebungen verschieben sich nach rechts.In jede Richtung werden unbesetzte Bits mit Nullen gefüllt.Insbesondere bewirken Verschiebungen mit absoluten Werten über 31 eine Null (alle Bits werden verschoben).

Für positive Verschiebungen gilt die folgende Gleichheit:
assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
Rückgaben
rrotate
Gibt die Zahl x gedreht disp Bits nach rechts zurück. Die Zahl disp kann eine beliebige repräsentierbare Zahl sein.
Für jede gültige Verschiebung hält die folgende Identität:
assert(bit32.rrotate(x, disp) == bit32.rrotate(x , disp % 32))
Insbesondere drehen sich negative Verschiebungen nach links.
Rückgaben
rshift
Gibt die Zahl x verschoben disp Bits nach rechts zurück.Die Zahl disp kann eine beliebige repräsentierbare Zahl sein.Negative Verschiebungen verschieben sich nach links.In jede Richtung werden unbesetzte Bits mit Nullen gefüllt.Insbesondere bewirken Verschiebungen mit absoluten Werten über 31 eine Null (alle Bits werden verschoben).

Für positive Verschiebungen gilt die folgende Gleichheit:
assert(bit32.rshift(b, disp) == (b % 2^32 / 2^disp) // 1)
Diese Verschiebungsoperation wird als logische Verschiebung bezeichnet.