KOSTENLOSE REGISTRIERUNG - FREE REGISTER
  • Willkommen, Gast!
  • Montag, 22. Januar 2018, 19:06:36
Position: Home » Tutorials » Workshop » In Bearbeitung » [PAWN] Operatoren, Expressions, Bitshifting

Willkommen im GTAvision.com Forum

Du bist noch nicht bei uns angemeldet. Wenn das dein erster Besuch bei uns ist, so kannst du die wichtigsten Funktionen des Boards in der FAQ nachlesen. Um Beiträge zu schreiben oder neue Themen zu erstellen musst du in fast jedem Forum registriert und eingeloggt sein. Dies gilt nicht bei den Newskommentaren, dort können auch Gäste etwas schreiben ohne sich vorher registrieren zu müssen. Damit du Beiträge lesen kannst, musst du dir erst ein Forum aussuchen welches dich interessiert, z.B. GTA V - Allgemeines, dann klickst du auf ein Thema das dich interessiert z.B. "Allgemeine GTA V Plauderecke" und schon kannst du die Beiträge lesen. Um im genannten Thema zu antworten, musst du dich allerdings vorher eingeloggt haben. Viel Spaß in unserem Forum, wünscht das gesamte GTAvision.com Team.

Follow @GTAvision
Thema: [PAWN] Operatoren, Expressions, Bitshifting [Seite 1 ]  

Kein neuer Beitrag 05.12.2008, 18:54
Beitrag #1   

Recycler
Vize-Boss
* * * * * * * * * O O
Registrierung: 29.12.2006, 11:54
User-Info: nicht mehr da
Beiträge: 2146

Operatoren in PAWN (und ähnlichen Sprachen wie C++)


Mit diesem Tutorial möchte ich euch zeigen, was man alles mit der PAWN Language und dessen
verwandten Programmiersprachen anstellen kann ;-)

Beachtet, dass es sich hierbei um reine Theorie handelt. Es gibt hier keine Beispiele für SA-MP
Scripte oder ähnlichem. Wenn ihr aber die Logik verstanden habt, könnt ihr sicherlich einiges an
euren Codes vereinfachen.

Ausdrücke (Expressions)

Eine ganz einfache Definition eines Ausdruckes - der ist nötig, um überhaupt in einer Sprache wie
PAWN programmieren zu können.

Ein Ausdruck (Expression) muss mindestens einen Operanden (zu bearbeitende Werte) mit einem
Operator verbinden - Ausdrücke mit einem Semikolon nennt man Anweisungen (Statements).


Code:
1
2
#define EXP1 "Ausdruck"
StarteAnweisung();


Rechenprozessoren (Arithmetic)

Fangen wir mit den einfachen Dingen an. Diese sind den meisten zwar schon bekannt, aber ich denke
zur Vervollständigung darf diese Sektion nicht fehlen.

Operator +
Code:
1
x + y

Ergebnis ist die Summe aus x und y.


Operator -
Code:
1
x - y

Ergebnis ist die Differenz aus x und y.


Operator *
Code:
1
x * y

Ergebnis ist das Produkt aus x und y.


Operator /
Code:
1
x / y

Ergebnis ist der Quotient aus x und y.


Operator ^
Code:
1
x^y

Ergebnis ist x zum y Quadrat.


Operator ++ / --
Code:
1
x++, x--

Ergebnis ist x + 1 bzw. x - 1.


Operator % (MOD)
Code:
1
x % y

Ergebnis ist der Rest einer Division von x und y.

7 / 2 = 3 + (Rest 1), 7 % 2 = 1

Modulo wird oft verwendet um herauszufinden, ob eine Zahl gerade bzw. ungerade ist. Denn es gilt:

x % 2 = 0, wenn der Quotient gerade ist


Bit Manipulation (Arithmetic)

Dies ist für viele, die sich noch nicht mit dem Bitsystem auskennen, nicht sehr nützlich. Trotzdem
sind folgende arithmetische Ausdrücke nützlich und ich selbst habe einige Anwendungen in SA-MP
Scripten.

Operator ~ (Komplement)
Code:
1
~x

Hierbei wird der Wahrheitswert aller Bits in einer Variable negiert. Bit 1 wird 0 und umgekehrt.

~3 = -4
~4 = -5

Wer nicht weiß wie dies genau funktioniert, kann sich die Bitlehre auf Wikipedia durchlesen.


Operator << (Bitshifting left)
Code:
1
2
3
x << y
oder
x * 2^y

Die Bits einer Variable werden um y nach links verschoben. Dies hat die oben in der Alternative
angegebene Auswirkung.

00001100 (dezimal ist dies die 12) << 2 = 00110000 (dezimal ist dies die 48)


Operator >> (Bitshifting right)
Code:
1
2
3
x >> y
oder
x / 2^y

Die Bits einer Variable werden um y nach rechts verschoben. Dies hat die oben in der Alternative
angegebene Auswirkung.

00001100 (dezimal ist dies die 12) >> 2 = 00000011 (dezimal ist dies die 3)


Operator >>> (Bitshifting right logical)
Code:
1
x >>> y

Die Bits einer Variable werden um y nach rechts verschoben. Anders als bei >> werden nun anstelle
von Kopien der Vorzeichenbits die Stellen mit Nullen gefüllt.

00001100 (dezimal ist dies die 12) >>> 2 = 0 -> 00000011 (dezimal ist dies die 3)

<<< entspricht damit <<


Operator & (Bitlehre: AND)
Code:
1
x & y

Die Bits werden nach der logischen AND-Verknüpfung miteinander verrechnet. Das Bit ist 1, wenn
beide Bits 1 sind, ansonsten 0.

00001100 (dezimal ist dies die 12)
&00000011 (dezimal ist dies die 3)
=00000000 (dezimal ist dies, oh welch ein Wunder, die 0)


Operator | (Bitlehre: OR)
Code:
1
x | y

Die Bits werden nach der logischen OR-Verknüpfung miteinander verrechnet. Das Bit ist 1, wenn eines
der beiden Bits 1 ist, ansonsten 0.

00001100 (dezimal ist dies die 12)
|00000011 (dezimal ist dies die 3)
=00001111 (dezimal ist dies die 15)


Zuordnungen (Assignments)

Dies sind alle arithmetischen Anweisungen, die ihr in PAWN durchführen könnt. Da sie sich zum Teil
selbst erklären, führe ich sie nicht allzu sehr aus. Die meisten sind mit weiteren Operatoren
ausgestattet, siehe oben.

Operator =
Code:
1
x = y

Der Wert von y wird in die Variable x kopiert.


Operator +=
Code:
1
x += y

Summe aus x und y, gespeichert in x.


Operator -=
Code:
1
x -= y

Differenz aus x und y, gespeichert in x.


Operator *=
Code:
1
x *= y

Produkt aus x und y, gespeichert in x.


Operator /=
Code:
1
x /= y

Quotient aus x und y, gespeichert in x.


Operator ^=
Code:
1
x ^= y

Quadrat aus x und y, gespeichert in x.


Operator %=
Code:
1
x %= y

Modulo aus x und y, gespeichert in x.


Operator <<=
Code:
1
x <<= y

Bitshift von x um y nach links, gespeichert in x.


Operator >>=
Code:
1
x >>= y

Bitshift von x um y nach rechts, gespeichert in x.


Operator >>>=
Code:
1
x >>>= y

Logischer Bitshift von x um y nach rechts, gespeichert in x.


Operator &=
Code:
1
x &= y

AND-Verknüpfung von x und y, gespeichert in x.


Operator |=
Code:
1
x |= y

OR-Verknüpfung von x und y, gespeichert in x.

WIRD FORTGESETZT

MfG
Recycler
Dieser Beitrag wurde insgesamt 6 mal editiert. Das letzte Mal 05.12.2008, 19:03 von Recycler.

Druckansicht

n/a n/a 1     (Anzeige: 1 – 1; Insgesamt: 1) n/a n/a
Toggle Ähnliche Themen zu „[PAWN] Operatoren, Expressions, Bitshifting“
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, „heißes Thema“   Hilfe Pawno Error beim Filterscript 10 2616 02.07.2011, 11:00
Von: marschmallow
02.07.2011, 16:14
Von: Rafioso
Zum letzten Beitrag
Keine neuen Beiträge, „heißes Thema“   pawno error.. 3 6161 05.09.2010, 22:18
Von: xOFxK1LLER
06.09.2010, 17:18
Von: Sh3LteR
Zum letzten Beitrag
Keine neuen Beiträge, „heißes Thema“   Pawn funktioniert nicht mehr 2 1981 11.07.2010, 17:47
Von: tion
20.07.2010, 21:03
Von: tion
Zum letzten Beitrag
Keine neuen Beiträge, „heißes Thema“ Thema GTA IV Car Spawner v1.4 8 3805 17.02.2010, 20:31
Von: Lama-King
01.04.2010, 21:51
Von: Rafioso
Zum letzten Beitrag
Keine neuen Beiträge, „heißes Thema“   Car Spawner für Pacth 5 (1.0.0.4) 9 2488 29.12.2009, 19:51
Von: Dennis22
30.12.2009, 00:05
Von: Rafioso
Zum letzten Beitrag
  • 0.019456 Sek., 11 DB-Zugriffe, 1.902 MiB
  • Powered by Boardsolution v1.45
GTAvision.com :: Forumregeln :: FAQ :: Impressum :: Kontakt :: RDRvision.com :: LANOIREvision.com :: MaxPayneVision.com
NetVisionWork.NET
.: © 2006-2014 by GTAvision.com :.

Rockstar GamesTake-Two Interactive Deutschland

Free Grand Theft Auto Downloads