Thema: Delphi shl und shr

Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: shl und shr

  Alt 2. Feb 2004, 18:45
Zitat von OH:
Die folgenden logischen Operatoren bearbeiten Integer-Operanden bitweise. Wenn z.B. der in X (binär) gespeicherte Wert 001101 und der in Y gespeicherte Wert 100001 lautet, weist die folgende Operation an Z den Wert 101101 zu:

Z := X or Y;

Logische (bitweise) Operatoren
Operator Operation Operandtyp Ergebnistyp Beispiele
not Bitweise Negation integer integer not X
and Bitweises and integer integer X and Y
oder Bitweises or integer integer X or Y
xor Bitweises xor integer integer X xor Y
shl Bitverschiebung nach links integer integer X shl 2
shr Bitverschiebung nach rechts integer integer Y shr I
Für bitweise Operatoren gelten die folgenden Regeln:

Das Ergebnis einer not-Operation hat denselben Typ wie der Operand.
Wenn beide Operanden einer and-, or- oder xor-Operation vom Typ Integer sind, hat das Ergebnis den vordefinierten Integer-Typ mit dem kleinsten Bereich, im dem alle für beide Typen möglichen Werte enthalten sind.
Die Operationen x shl y und x shr y verschieben den Wert von x um y Bits nach links oder rechts (falls es sich bei x um einen vorzeichenlosen Integer handelt). Dies entspricht der Multiplikation oder Division von x durch 2^y. Das Ergebnis hat denselben Typ wie x. Wenn beispielsweise in N der Wert 01101 (dezimal 13) gespeichert ist, liefert N shl 1 den Wert 11010 (dezimal 26) zurück. Beachten Sie, dass der Wert von y als Restwert der Größe von Typ x interpretiert wird. Wenn z.B. x ein Integer ist, wird x shl 40 als x shl 8 interpretiert, da ein Integer 32 Bit hat, und 40 minus 32 den Wert 8 ergibt.
[Edit]Mist, die Formatierung kommt aber net gut rüber [/Edit]
  Mit Zitat antworten Zitat