Wert=Zahl SAR Bits


Beschreibung
Dieser Befehl verschiebt alle Bits eines Integerwerts nach rechts. Somit hat es die selbe Funktionsweise, als wenn man den Wert durch 2 teilen würde. Der Parameter "Bits" gibt an, wie viel Mal die Bits verschoben werden sollen.

Alle Bits die rechts "rauskommen" werden entfernt und nicht irgendwo an die hinteren Bits drangehängt.

Der Befehl SHR funktioniert ähnlich. Der Befehl SAR merkt sich aber, ob ein Wert positiv oder negativ war.

01110000 00000000 00000000 00000001
alle Bits werden nach rechts verschoben
00111000 00000000 00000000 00000000
Das 32te Bit wird nicht geändert.
Es kennzeichnet eine pos/neg Zahl


Parameter
Zahl=beliebiger Integerwert
Bits=Anzahl der Bits, um die verschoben werden soll


Rückgabewert
Neuer Wert mit verschobenen Bits.


Beispiel
Dieses Programm setzt einige Bits und verschiebt die dann nach rechts:

wert=2^30 OR 2^29 OR 2^28 OR 1
PRINT "Dec-Wert vorher: "+wert
PRINT "Bin-Wert vorher: "+BIN$(wert)
wert=wert SAR 1
PRINT
PRINT "Dec-Wert vorher: "+wert
PRINT "Bin-Wert vorher: "+BIN$(wert)


Siehe auch
AND, OR, SHL, SHR, XOR