C++ ist eine statisch typisierte Sprache, daher müssen alle ihre Variablen im Voraus Datentypen deklarieren. Ein Datentyp gibt an, welche Art von Wert eine Variable enthält. In C++ sind Variablen, die numerische Werte enthalten, int, long, float und double. int und long werden zur Darstellung ganzzahliger Werte verwendet, während float und double zur Darstellung von Dezimalwerten verwendet werden. Sowohl int als auch long enthalten ganzzahlige Werte, aber mit einem Unterschied beträgt die Größe von int 4 Byte und die Größe von long 8 Byte.
Die Konvertierung von int in long kann auf verschiedene Arten erfolgen, wir haben nur zwei davon besprochen. Die erste erfolgt durch implizite Konvertierung und die zweite durch die Verwendung expliziter Konvertierung. Die explizite Typkonvertierung erfordert die Angabe des resultierenden Datentyps im Code, die implizite Typkonvertierung erfolgt durch den Compiler selbst. Die explizite Typkonvertierung kann außerdem auf zwei Arten erreicht werden, die später beschrieben werden. Wir haben implizite Konvertierungen bereits beschrieben.
Implizite Konvertierung von einer Variablen vom Typ int in long -
int a; long b = a;
Implizite Konvertierungen werden vollständig vom Compiler übernommen und der Programmierer muss keinen zusätzlichen Aufwand für die Konvertierung betreiben. Weisen Sie einfach die Quellvariable der Zielvariablen zu.
#include <iostream> using namespace std; long solve(int var2) { return var2; } int main() { long var1; int var2 = 4103; var1 = solve(var2); cout<< "The value of var1 is: "<< var1 <<endl; cout<< "The size of var1 is: " << sizeof(var1) <<endl; cout<< "The size of var2 is: " << sizeof(var2) <<endl; return 0; }
The value of var1 is: 4103 The size of var1 is: 8 The size of var2 is: 4
Wie im Beispiel gezeigt, ist die Variable var1 vom Typ int, während die Variable var2 vom Typ long ist. Der Wert 4103 wird verwendet, um die Variable var2 zu initialisieren und sie dann var1 zuzuweisen. Es ist offensichtlich, dass der Compiler eine implizite Typkonvertierung durchgeführt und den Wert als Ganzzahl in der Variablen var1 gespeichert hat. Die Variablengröße wird auch in der Ausgabe angezeigt, um die Konvertierung zu überprüfen. Dies dient jedoch nur zu Demonstrationszwecken und muss nicht jedes Mal angewendet werden. In C++ gibt es zwei Möglichkeiten, explizite Typkonvertierungen durchzuführen: die Anwendung eines Umwandlungsoperators und die explizite Deklaration des Datentyps der Ergebnisvariablen während der Zuweisung.
In C++ stehen vier verschiedene Arten von Cast-Operatoren zur Verfügung. Der statische Cast-Operator ist der einzige Operator, der in diesem Artikel verwendet wird.
int a; long b = static_cast<long> (a);
#include <iostream> using namespace std; long solve(int var2) { return static_cast<long> (var2); } int main() { long var1; int var2 = 257; var1 = solve(var2); cout<< "The value of var1 is: "<< var1 <<endl; cout<< "The size of var1 is: " << sizeof(var1) <<endl; cout<< "The size of var2 is: " << sizeof(var2) <<endl; return 0; }
The value of var1 is: 257 The size of var1 is: 8 The size of var2 is: 4
Die Ergebnisse sind vergleichbar mit zuvor versuchten Codefragmenten. Die explizite Typkonvertierung bewirkt dasselbe, außer dass der Benutzer jetzt die Konvertierungsmethode angeben muss.
Ähnlich wie bei der vorherigen Methode setzen wir beim Konvertieren auch den Ergebnisdatentyp vor die Quellvariable auf der rechten Seite. In diesem Fall ist kein zusätzlicher Operator erforderlich.
int a; long b = (long) a;
#include <iostream> using namespace std; long solve(int var2) { return (long) var2; } int main() { long var1; int var2 = 37857; var1 = solve(var2); cout<< "The value of var1 is: "<< var1 <<endl; cout<< "The size of var1 is: " << sizeof(var1) <<endl; cout<< "The size of var2 is: " << sizeof(var2) <<endl; return 0; }
The value of var1 is: 37857 The size of var1 is: 8 The size of var2 is: 4
Da unterschiedliche Datentypen unterschiedliche Darstellungen und Methoden zum Bearbeiten desselben Datentyps bieten, ist die Konvertierung zwischen ihnen in C++ und anderen Computersprachen sehr verbreitet. Für die Konvertierung zwischen long und int verwenden wir hauptsächlich zwei Arten von Konvertierungen, die als implizite Konvertierungen und explizite Konvertierungstypen bezeichnet werden. Diese Konvertierung ist sinnvoll, wenn Daten vom Typ int für größere, komplexere Berechnungen erforderlich sind.
Das obige ist der detaillierte Inhalt vonC++-Programm zum Konvertieren von Variablen vom Typ int in den Typ long. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!