Frage von DeppyFabian, 30

Wie die Werte von Variablen in Turbo PASCAL tauschen?

Hallo ich hab folgendes Problem: Ich soll 4 Variablen definieren, dass hab ich auch gemacht. Nämlich VAR a,b,c,d vom Typ Byte a:=1 b:=2 c:=3 d:=4

Nun soll ich ein Programm schreiben, dass die Werte von a und d, b und c tauscht. Ich weiss aber nicht wie. Kann mir jemand zeigen wie das geht? Ja ich bin ein Anfänger. ;)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von DerKleinePiet, 30

a := a XOR d;
d := a XOR d;
a := a XOR d;
b := b XOR c;
c := b XOR c;
b := b XOR c;

Kommentar von Gurkensalat ,

sweet

Kommentar von Gurkensalat ,

nur Assembler ist schneller ;)

Kommentar von DeppyFabian ,

Was ist Assembler?

Kommentar von DeppyFabian ,

Und das klappt so? XOR ist mir als Operator unbekannt und warum macht man 3x a XOR d und b XOR c?

Wäre nett, wenn du mir das noch ein bisschen erklären könntest.

Kommentar von DerKleinePiet ,

Das ist so ähnlich wie:
a := a + d;
d := a - d;
a := a - d;
- warum das klappt, kannst du dir ja schnell überlegen bzw. ausrechnen. XOR ist ein bitweiser Operator, der die Parität der Bits überprüft und bei gleicher Parität eine 0 setzt, sonst eine 1. Damit ist z.B. (a XOR b) XOR a = b ...

Kommentar von DeppyFabian ,

Ähm, hab ich ehrlich gesagt nicht wirklich verstanden, sry. Ich bin erst seit paar Tagen dabei, mit programmieren und so, bin also blutiger Anfänger.

Aber es tauscht die Werte der Variablen a und d, b und c? 

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten