Python Programm zum Vertauschen zweier Zahlen ohne Verwendung einer dritten Variable
⚡ Intelligente Zusammenfassung
Tauschping Zwei Zahlen ohne dritte Variable werden mithilfe arithmetischer Addition und Subtraktion direkt vertauscht.traction, der bitweise XOR-Operator oder Tricks der Bitarithmetik. Python kann auch direkt mit Tupel-Entpackung vertauscht werden.

In den folgenden Abschnitten werden vier Möglichkeiten zum Tauschen ohne temporäre Variable sowie der arithmetische Überlauf behandelt.
In Programmiersprachen, Tauschping Das bedeutet, die Werte zweier Variablen zu vertauschen. Eine Variable kann eine Zahl, eine Zeichenkette, eine Liste oder ein Array, ein Objekt usw. enthalten. Die allgemeine Vorgehensweise beim Vertauschen ist…ping Dabei wird eine temporäre Variable verwendet, um Werte zu speichern. Zum Beispiel:
Die allgemeinen Schritte des Tauschsping Die beiden Zahlen lauten:
- Deklariere eine temporäre Variable C
- Weisen Sie C den Wert von A zu, was bedeutet, dass C = A ist. Jetzt ist C = 20
- Weisen Sie A den Wert von B zu, also A = 30
- Weisen Sie B den Wert von C zu, also ist B = 20, da C den Wert 20 hat.
So funktioniert der Tausch.ping Dies geschieht mithilfe einer temporären Variable und funktioniert sowohl für Ganzzahlen als auch für Gleitkommazahlen.
Tauschen Sie mithilfe der arithmetischen Gleichung
Wie wir wissen, Tauschping Vertauschen bedeutet, den Inhalt zweier Objekte, Felder oder Variablen auszutauschen. Vertauschen mittels einer arithmetischen Operation bedeutet, den Tausch mithilfe einer mathematischen Gleichung durchzuführen, z. B. Addition und Subtraktion.traction.
Wenn uns zwei Zahlen gegeben werden und wir aufgefordert werden, sie ohne Verwendung einer temporären Variablen zu vertauschen, dann können wir die Zahlen mithilfe von drei arithmetischen Gleichungen vertauschen.
Pseudocode für Tauschping Zahlen unter Verwendung einer arithmetischen Operation:
A = A + B B = A - B A = A - B
Nehmen wir an, wir haben zwei Zahlen, A = 20 und B = 30.
Bedingung 1: A = A+B
Der aktuelle Wert von A beträgt also 20 + 30 = 50.
Bedingung 2: B = AB
Nun ist B = 50-30 = 20
Wir können sehen, dass wir den Wert von A in B erhalten haben.
Bedingung 3: A = AB
Schließlich ist A = 50-20 = 30
A hat den Anfangswert von B.
Also haben wir einfach die Nummern vertauscht.
Hier ist das Programm zum Vertauschen zweier Zahlen in C/C++:
#include<stdio.h> int main() { int a, b; printf("Enter value of A: "); scanf("%d", & a); printf("Enter value of B: "); scanf("%d", & b); printf("A = %d, B = %d", a, b); a = a + b; b = a - b; a = a - b; printf("\nNow, A = %d, B = %d", a, b); }
Ausgang:
Enter value of A: 20 Enter value of B: 30 A = 20 , B = 30 Now, A = 30 , B = 20
Programm in Python:
a = int(input("Enter value of A: ")) b = int(input("Enter value of B: ")) print("A = {} and B = {}".format(a, b)) a = a + b b = a - b a = a - b print("Now, A = {} and B = {}".format(a, b))
Ausgang:
Enter value of A: 20 Enter value of B: 30 A = 20 , B = 30 Now, A = 30 , B = 20
Jetzt in PythonWir müssen nicht einmal arithmetische Operationen durchführen. Wir können Folgendes verwenden:
a,b = b,a
Hier ist ein Beispiel, bei dem a=20 und b=30 gilt;
Tauschen mit Bitwise XOR OperaDo.
Diese Methode ist auch als XOR-Verknüpfung bekannt. XOR bedeutet exklusives Oder. Bei dieser bitweisen Operation werden zwei Bits als Eingaben für die XOR-Verknüpfung verwendet. Damit die XOR-Verknüpfung einen Ausgabewert liefert, muss genau eine der Eingaben 1 sein. Andernfalls ist die Ausgabe 0. Die folgende Tabelle zeigt die Ausgabewerte für alle Kombinationen der Eingaben A und B.
Wir müssen verstehen, wie die XOR-Operation funktioniert, um zwei Zahlen bitweise zu vertauschen. Hier ist eine Tabelle für XOR, wobei A und B die Eingabewerte sind.
| A | B | Ein XOR-B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Haben zwei Eingaben denselben Wert, ergibt die XOR-Operation 0, andernfalls 1. In diesem Beispiel verwenden wir eine 3-fache XOR-Operation. In den meisten Programmiersprachen wird XOR mit „^“ dargestellt.
Nehmen wir an, A=4 (binär = 0100) und B=7 (binär = 0111).
Bedingung 1: A = A ^ B
| A | 0 | 1 | 0 | 0 |
| B | 0 | 1 | 1 | 1 |
| A ^ B | 0 | 0 | 1 | 1 |
Nun ist A = 0011 (in Binärform).
Bedingung 2: B = A^B
| A | 0 | 0 | 1 | 1 |
| B | 0 | 1 | 1 | 1 |
| A ^ B | 0 | 1 | 0 | 0 |
Also B = 0100, was der anfängliche Binärwert von A war.
Bedingung 3: A = A^B
| A | 0 | 0 | 1 | 1 |
| B | 0 | 1 | 0 | 0 |
| A ^ B | 0 | 1 | 1 | 1 |
Schließlich ist A = 0111, was der äquivalente Binärwert von B war.
Programmieren in C/C++:
#include<stdio.h> int main() { int a, b; printf("Enter value of A: "); scanf("%d", & a); printf("Enter value of B: "); scanf("%d", & b); printf("A = %d, B = %d", a, b); a = a ^ b; b = a ^ b; a = a ^ b; printf("\nNow, A = %d, B = %d", a, b); }
Ausgang:
Enter value of A:4 Enter value of B:7 A=4, B=7 Now, A=7, B=4.
Programm in Python:
a = int(input("Enter value of A: ")) b = int(input("Enter value of B: ")) print("A = {} and B = {}".format(a, b)) a = a ^ b b = a ^ b a = a ^ b print("Now, A = {} and B = {}".format(a, b))
Ausgang:
Enter the value of A:10
Enter the value of B:15
A=10 and B=15
Now, A=15,B=10.
Tausch Numbers mit Bitweiser Arithmetik
Diese Methode entspricht der arithmetischen Methode, jedoch verwenden wir bitweise Operationen wie UND, ODER und Komplementierung für Addition und Subtraktion.traction. Bevor wir zu den einzelnen Schritten kommen, wollen wir kurz den Begriff „Komplement“ betrachten.
Das Einerkomplement bedeutet, alle 0 in 1 und alle 1 in 0 zu ändern. Nehmen wir ein Beispiel.
- Nehmen wir an, es handelt sich um die Zahl 23, eine Dezimalzahl.
- Die Umwandlung in Binärdarstellung ergibt 10111. Es sind nur 5 Bits, aber der Computer speichert Zahlen in 8, 16, 32, 64 usw. Bits. Fügen wir also eine Null vor der Binärzahl hinzu. Das ändert den ursprünglichen Wert der Zahl nicht. Sie wird also zu 10111. 00010111.
- Wie wir wissen, bedeutet das Einerkomplement, alle 0 in 1 und alle 1 in 0 zu ändern, also das Einerkomplement über 00010111 gibt 11101000.
Das Einerkomplement wird in den meisten Programmiersprachen mit dem Symbol „~“ dargestellt. Setzt man dieses Symbol vor einen beliebigen ganzzahligen oder Gleitkommawert, erhält man das Einerkomplement.
Und 2er-Komplement bedeutet das Hinzufügen der binären „1“ zum 1er-Komplement. Wenn wir das 2er-Komplement zur obigen Zahl machen:
- Binär = 00010111
- Einerkomplement = 11101000
- Einerkomplement:
11101000
+ 1
11101001
Das Zweierkomplement ist also 2. Dies ist die Binärzahl für -11101001.
Zusammenfassend sieht die Ausführung des Zweierkomplements einer Zahl A wie folgt aus:
2er-Komplement von A = (~A) + 1
Nehmen wir nun an, A=8 (binär 00001000), B=10 (00001010)
Bedingung 1: A = (A & B) + (A | B)
Es ist äquivalent zu A = A + B.
A & B = 00001000 & 00001010 = 00001000
A | B = 00001000 | 00001010 = 00001010
Nun, 00001000 + 00001010 = 00010010 (Dezimal 18)
Also, A = 18
Bedingung 2: B = A + (~B) + 1
Es entspricht B = AB
Hier gilt B = A – B
Aus der obigen Diskussion ergibt sich, dass wir, falls wir Unteraufgaben durchführen müssen, …tracBei dieser Kontraktion bilden wir das Zweierkomplement der negativen Zahl und addieren sie dann.
Also -B = ~B + 1
Nun ist B = 00010010 + (11110101) + 1 = 00001000
Der Wert von B entspricht der Dezimalzahl 8, dem Anfangswert.
Bedingung 3: A = A + (~B) + 1
Es entspricht A = AB
Nun ist A = 00010010 + 11110111 + 1
A = 00001010 (entspricht Dezimalzahl 10)
Schließlich erhielt A den Wert von B. Somit ergab sich der Tausch.ping wurde abgeschlossen.
Programmieren in C/C++:
#include<stdio.h> int main() { int a, b; printf("Enter value of A: "); scanf("%d", & a); printf("Enter value of B: "); scanf("%d", & b); printf("A = %d, B = %d", a, b); a = (a & b) + (a | b); b = a + ~b + 1; a = a + ~b + 1; printf("\nNow, A = %d, B = %d", a, b); }
Ausgang:
Enter the value of A: 8 Enter the value of B:10 A=8, B=10 Now, A=10, B=8
Programm in Python:
a = int(input("Enter value of A: ")) b = int(input("Enter value of B: ")) print("A = {} and B = {}".format(a, b)) a = (a & b) + (a | b) b = a + ~b + 1 a = a + ~b + 1 print("Now, A = {} and B = {}".format(a, b))
Ausgang:
Enter the value of A: 25 Enter the value of B: 25 A = 25 and B = 25 Now, A = 25 and B = 25
Was ist ein arithmetischer Überlauf?
Der Begriff Überlauf bedeutet, dass eine Grenze überschritten wird. Arithmetischer Überlauf bedeutet, dass das Ergebnis einer arithmetischen Operation den Bereich oder die Grenze der Zahlendarstellung der Computerarchitektur überschreitet. Wird beispielsweise eine Zahl durch Null geteilt, wird sie unendlich groß, und das Zahlensystem des Computers kann sie nicht mit 32 oder 64 Bit darstellen.
Ganzzahldarstellung in einem 32-Bit-System
Die Folge des arithmetischen Überlaufs kann sein:
- Die Addition zweier positiver Zahlen ergibt ein negatives Ergebnis, da das Vorzeichenbit 1 werden könnte, was eine negative Zahl bedeuten würde.
- Die Addition zweier negativer Zahlen ergibt eine positive Zahl, weil das Vorzeichenbit 0 werden kann, was eine positive Zahl bedeutet.



