Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative

 << zurück
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/)
Objektorientierung und Codedesign mit Flash MX 2004
Buch: ActionScript 1 und 2

ActionScript 1 und 2
672 S., mit CD, Referenzkarte, 44,90 Euro
Rheinwerk Design
ISBN 3-89842-221-6
gp Kapitel 8 Ausdrücke und Operatoren
  gp 8.1 Ausdrücke
    gp 8.1.1 Operatoren
    gp 8.1.2 Reihenfolge
    gp 8.1.3 Bedingungen
  gp 8.2 Zuweisungsoperatoren
    gp 8.2.1 ++ (Prä- und Post-Inkrement)
    gp 8.2.2 -- (Prä- und Post-Dekrement)
    gp 8.2.3 = (Zuweisung)
    gp 8.2.4 *= (Multiplikationszuweisung)
    gp 8.2.5 /= (Divisionszuweisung)
    gp 8.2.6 %= (Modulozuweisung)
    gp 8.2.7 += (Additionszuweisung)
    gp 8.2.8 -= (Subtraktionszuweisung)
    gp 8.2.9 &= (bitweise Und-Zuweisung)
    gp 8.2.10 |= (bitweise Oder-Zuweisung)
    gp 8.2.11 ^= (bitweise XOder-Zuweisung)
    gp 8.2.12 <<= (bitweise Verschiebung nach links und Zuweisung)
    gp 8.2.13 >>= (bitweise Verschiebung nach rechts und Zuweisung)
    gp 8.2.14 >>>= (vorzeichenlose bitweise Verschiebung nach rechts und Zuweisung)
  gp 8.3 Arithmetische Operatoren
    gp 8.3.1 + (Addition, Konkatenation und Plus-Vorzeichen)
    gp 8.3.2 - (Subtraktion und Minus-Vorzeichen)
    gp 8.3.3 * (Multiplikation)
    gp 8.3.4 / (Division)
    gp 8.3.5 % (Modulo)
  gp 8.4 Vergleichsoperatoren
    gp 8.4.1 < (kleiner als)
    gp 8.4.2 <= (kleiner als oder gleich)
    gp 8.4.3 > (größer als)
    gp 8.4.4 >= (größer als oder gleich)
    gp 8.4.5 lt (kleiner als für Strings in Flash 4)
    gp 8.4.6 le (kleiner oder gleich für Strings in Flash 4)
    gp 8.4.7 gt (größer als für Strings in Flash 4)
    gp 8.4.8 ge (größer oder gleich für Strings in Flash 4)
    gp 8.4.9 == (gleich)
    gp 8.4.10 != (ungleich)
    gp 8.4.11 === (striktes Gleich)
    gp 8.4.12 !== (striktes Ungleich)
    gp 8.4.13 eq (gleich für Strings in Flash 4)
    gp 8.4.14 ne (ungleich für Strings in Flash 4)
    gp 8.4.15 instanceof (Instanz von Prototyp)
    gp 8.4.16 in (Eigenschaft von Instanz)
  gp 8.5 Logische Operatoren
    gp 8.5.1 ! (logisches Nicht)
    gp 8.5.2 not (logisches Nicht in Flash 4)
    gp 8.5.3 && (logisches Und)
    gp 8.5.4 and (logisches Und in Flash 4)
    gp 8.5.5 || (logisches Oder)
    gp 8.5.6 or (logisches Oder in Flash 4)
  gp 8.6 Bitweise Operatoren
    gp 8.6.1 ~ (Bit-Komplement)
    gp 8.6.2 << (bitweise Verschiebung nach links)
    gp 8.6.3 >> (bitweise Verschiebung nach rechts)
    gp 8.6.4 >>> (vorzeichenlose bitweise Verschiebung nach rechts)
    gp 8.6.5 & (bitweises Und, String-Verknüpfung in Flash4)
    gp 8.6.6 ^ (bitweises XOder)
    gp 8.6.7 | (bitweises Oder)
  gp 8.7 Sonstige Operatoren
    gp 8.7.1 ( ) (Gruppierung und Funktionsaufruf)
    gp 8.7.2 [ ] (Array-Zugriff und Array-Initialisierung)
    gp 8.7.3 { } (Objektinitialisierung)
    gp 8.7.4 . (Objektzugriff)
    gp 8.7.5 new (Objekt zuweisen)
    gp 8.7.6 delete (Objektzuweisung aufheben)
    gp 8.7.7 typeof (Objekttyp)
    gp 8.7.8 void (gibt einen undefinierten Wert zurück)
    gp 8.7.9 add (Stringverkettung in Flash 4)
    gp 8.7.10 ?: (bedingt)
    gp 8.7.11 , (mehrfache Auswertung)


Rheinwerk Design - Zum Seitenanfang

8.6 Bitweise Operatoren  downtop

Die bitweisen Operatoren sind für binäre Berechnungen nützlich. Alle Daten in einem Computer werden letztendlich binär gespeichert und bestehen nur aus Nullen und Einsen (Dualzahlen bzw. Binärzahlen). Normalerweise kommen Sie in Ihren Projekten nur sehr selten mit dieser Darstellung der Daten in Berührung.

Die bitweise Verarbeitung macht immer dann Sinn, wenn für die Verwaltung von Daten viele Wahrheitswerte notwendig wären oder wenn sich Berechnungen durch Bitverschiebungen optimieren lassen:

// Zustände über Wahrheitswerte speichern
umschalt = Key.isDown(Key.SHIFT);
strg = Key.isDown(Key.CONTROL);
// Zustände bitweise in einer Variablen verwalten
// Erstes Bit steht für die Umschalttaste und das zweite für Strg
tasten = 1*Key.isDown(Key.SHIFT)+2*Key.isDown(Key.CONTROL);
// Normale Multiplikation mit 2
ergebnis = 2*99;
// Multiplikation mit 2 durch Bitverschiebung
ergebnis = 99 << 1;
Tastenkürzel verwalten

Das folgende Beispiel in Form einer ActionScript 2.0-Klasse beschreibt ebenfalls eine kompakte Möglichkeit, mit Hilfe von binär dargestellten Werten Tastenkürzel zu verwalten. Der Vorteil ist hier, dass für verschiedenen Tasten nur eine einzige Variable benötigt wird (Modifiers), deren einzelne Stellen (Bits) für jeweils eine mögliche Taste stehen, die frei kombiniert werden können:

// Verwendung: my_shortcut = new Shortcut (78, [Shortcut.CTRL, Shortcut.SHIFT]);
class Shortcut {
   /**
   * Statische Variablen für Modifier-Tasten
   */
   // 00101
   public static var SHIFT = 5;
   // 01001
   public static var CTRL = 9;
   // In Flash nur als ALT GR verfügbar (keycode 18)
   // 10001
   public static var ALT = 17;
   /**
   * Öffentliche Variablen
   */
   // Taste (immer nur eine erlaubt)
   public var key:Number = null;
   // Modifier-Tasten (Kombination erlaubt)
   public var modifiers:Number = null;
   //
   function Shortcut(keyCode:Number, modifier_list:Array)
   {
      // Initialisiere mit Array für die Modifier-Tasten
      init(keyCode, modifier_list);
   }
   private function init(keyCode:Number, modifier_list:Array)
   {
      // modifier_list ist ein Array aus Shortcut.SHIFT, Shortcut.CTRL oder Shortcut.ALT (vermeide ALT)
      key = keyCode;
      modifiers = getModifierFlags(modifier_list);
   }
   private function getModifierFlags(modifier_list:Array):Number
   {
      var flags:Number;
      var i:Number;
      //
      flags = 1;
      for (i in modifier_list)
      {
         flags = flags | modifier_list[i];
      }
      return flags;
   }
}

Rheinwerk Design - Zum Seitenanfang

8.6.1 ~ (Bit-Komplement)  downtop

Der einstellige Operator ~ berechnet das Komplement eines binären Ausdrucks. Das logische Nicht beschränkt sich bei der Anwendung immer nur auf eine Bedingung. Um nun mehrere Bedingungen nicht in vielen Einzelschritten negieren zu müssen, bietet sich die bitweise Verarbeitung an, die das »in einem Rutsch« erledigt.

gp  Bemerkung:
    Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
~ausdruck
gp  Parameter:
    Der Ausdruck steht für einen beliebigen Datentyp.
       
gp  Ergebnis:
    ActionScript wandelt den Ausdruck in eine 32-Bit-Zahl um und gibt das Komplement zurück.
       

Rheinwerk Design - Zum Seitenanfang

8.6.2 << (bitweise Verschiebung nach links)  downtop

Der Operator << verschiebt den binären Wert eines Ausdrucks bitweise nach links. Dies entspricht einer Multiplikation mit einem Vielfachen von zwei.

gp  Bemerkung:
    Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
ausdruck << verschiebung
gp  Parameter:
    Der Ausdruck steht für eine Zahl. Als Verschiebung wird eine Zahl zwischen 0 und 31 erwartet.
       
gp  Ergebnis:
    Der Wert des Ausdrucks wird in eine 32-Bit-Zahl konvertiert und um die angegebenen Bits nach links verschoben.
       
gp  Beispiel:
wert = 16;
// Verschiebe Bits
trace(wert << 2);
// Ergebnis ist 64

Rheinwerk Design - Zum Seitenanfang

8.6.3 >> (bitweise Verschiebung nach rechtsdowntop

Der Operator >> verschiebt den binären Wert eines Ausdrucks bitweise nach rechts. Dies entspricht einer Division mit einem Vielfachen von zwei.

gp  Bemerkung:
    Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
ausdruck >> verschiebung
gp  Parameter:
    Der Ausdruck steht für eine Zahl. Als Verschiebung wird eine Zahl zwischen 0 und 31 erwartet.
       
gp  Ergebnis:
    Der Wert des Ausdrucks wird in eine 32-Bit-Zahl konvertiert und um die angegebenen Bits nach rechts verschoben.
       
gp  Beispiel:
wert = 16;
// Verschiebe Bits
trace(wert >> 2);
// Ergebnis ist 4

Rheinwerk Design - Zum Seitenanfang

8.6.4 >>> (vorzeichenlose bitweise Verschiebung nach rechts)  downtop

Der Operator >>> verschiebt einen Wert bitweise nach rechts, ohne dabei auf ein Vorzeichen zu achten. Dies entspricht einer Division durch ein Vielfaches von zwei.

gp  Bemerkung:
    Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
ausdruck >>> verschiebung
gp  Parameter:
    Der Ausdruck steht für eine Zahl. Als Verschiebung wird eine Zahl zwischen 0 und 31 erwartet.
       
gp  Ergebnis:
    Der Wert des Ausdrucks wird in eine 32-Bit-Zahl konvertiert und um die angegebenen Bits nach rechts verschoben, ohne dabei das Vorzeichen (das 32. Bit) beizubehalten.
       
gp  Beispiel:
// Aktiviere das 32. Bit (dieses steht für das Vorzeichen)
// 10000000 00000000 00000000 00000000
schalter = Math.pow(2,31);
// Verschiebe Bits um eine Stelle nach rechts (behalte Vorzeichen bei)
schalter = schalter >> 1;
// Ergebnis ist 11000000 00000000 00000000 00000000
trace(-Math.pow(2,30));
trace(schalter);
// Aktiviere das 32. Bit (dieses steht für das Vorzeichen)
// 10000000 00000000 00000000 00000000
schalter = Math.pow(2,31);
// Verschiebe Bits um eine Stelle nach rechts
schalter = schalter >>> 1;
// Ergebnis ist 01000000 00000000 00000000 00000000
trace(Math.pow(2,30));
trace(schalter);

Rheinwerk Design - Zum Seitenanfang

8.6.5 & (bitweises Und, String-Verknüpfung in Flash4downtop

Der Operator & verknüpft die binäre Darstellung zweier Ausdrücke bitweise mit einem Und. In der Flash 4-Entwicklungsumgebung wurde dieser Operator für die Verknüpfung von Zeichenketten verwendet.

gp  Bemerkung:
    Dieser Operator steht in der Flash 4-Entwicklungsumgebung für die Verknüpfung von Zeichenketten zur Verfügung. Verwenden Sie ab Flash 5 stattdessen den +-Operator.
       
    Dieser Operator steht seit dem Flash Player 5 für die bitweise Und-Verknüpfung zur Verfügung. Die Arbeitsweise dieses Operators ist dem logischen Und (!) ähnlich.
       
gp  Syntax:
ausdruck & ausdruck
gp  Parameter:

Die Ausdrücke stehen für beliebige Datentypen.

gp  Ergebnis:
    ActionScript wandelt die Ausdrücke in eine 32-Bit-Zahl um und gibt das bitweise Und zurück.
       

Tabelle 8.9   Und-Tabelle (bitweise)

Ausdruck 1 Ausdruck 2 Ergebnis
1 1 1
1 0 0
0 1 0
0 0 0

gp  Beispiel:
// Erzeuge binäre Zahlen
a = parseInt("0101", 2);
b = parseInt("1001", 2);
// Bitweises Und
trace(a & b);
// Ergebnis ist: 0001 (Dezimal 1)

Rheinwerk Design - Zum Seitenanfang

8.6.6 ^ (bitweises XOderdowntop

Der Operator ^ verknüpft die binäre Darstellung zweier Ausdrücke bitweise mit einem XOder (Entweder-Oder).

gp  Bemerkung:
    Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
ausdruck ^ ausdruck
gp  Parameter:

Die Ausdrücke stehen für beliebige Datentypen.

gp  Ergebnis:
    ActionScript wandelt die Ausdrücke in eine 32-Bit-Zahl um und gibt das bitweise XOder zurück.
       

Tabelle 8.10   XOder-Tabelle (bitweise)

Ausdruck 1 Ausdruck 2 Ergebnis
1 1 0
1 0 1
0 1 1
0 0 0

gp  Beispiel:
// Erzeuge binäre Zahlen
a = parseInt("0101", 2);
b = parseInt("1001", 2);
// Bitweises XOder
trace(a ^ b);
// Ergebnis ist: 1100 (Dezimal 12)

Rheinwerk Design - Zum Seitenanfang

8.6.7 | (bitweises Oder)  toptop

Der Operator | verknüpft die binäre Darstellung zweier Ausdrücke bitweise mit einem Oder.

gp  Bemerkung:
    Dieser Operator steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
ausdruck | ausdruck
gp  Parameter:

Die Ausdrücke stehen für beliebige Datentypen.

gp  Ergebnis:
    ActionScript wandelt die Ausdrücke in eine 32-Bit-Zahl um und gibt das bitweise Oder zurück.
       

Tabelle 8.11   Oder-Tabelle (bitweise)

Ausdruck 1 Ausdruck 2 Ergebnis
1 1 1
1 0 1
0 1 1
0 0 0

gp  Beispiel:
// Erzeuge binäre Zahlen
a = parseInt("0101", 2);
b = parseInt("1001", 2);
// Bitweises Oder
trace(a | b);
// Ergebnis ist: 1101 (Dezimal 13)
 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 1 und 2
ActionScript 1 und 2
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern