Führt eine Bit-Shift Operation mit Wechsel durch.
BitRotate ( value , shift [, size] )
Parameter
| value | Die Zahl für die Operation. |
| shift | Anzahl der Bits die nach links gewechselt werden soll (negative Zahlen verschieben nach rechts). Wird nichts angegeben ist der Standard 1. |
| size | [optional] Ein String, die die Wechselgröße festlegt, Standard ist (16 Bits). Siehe unten. |
| "B" | wechselt Bits innerhalb des niederwertigen Byte (8 bits). |
| "W" | wechselt Bits innerhalb des niederwertigen Word (16 bits). |
| "D" | wechselt Bits innerhalb des gesamten double-word (32 bits). |
Rückgabewert
| Erfolg: | Rückgabe des Wertes gewechselt mit der erforderlichen Anzahl an Bits. |
| Erfolg: | Setzt @error falls die Größe ungültig ist. |
Bemerkungen
Es können auch HEX-Ausdrücke als Parameter verwendet werden.
Verwandte Funktionen
BitShift, BitAND, BitNOT, BitOR, BitXOR, Hex
Beispiel
$x = BitRotate(7, 2)
; x == 28 weil 111b zweimal nach links rotiert 1 1100b ist.
$y = BitRotate(14, -2)
; y == 32771 weil 1110b zweimal nach rechts rotiert bei 16 Bits 1000 0000 0000 0011b == 32771 ergibt.
$z = BitRotate(14, -2, "D")
; z == -2147483645 weil 1110b zweimal nach rechts rotiert bei 32 Bits 1000 0000 0000 0000 0000 0000 0000 0011b == -2147483645 ergibt.