Konvertierungsmethode für C-Sprachdatentypen

藏色散人
Freigeben: 2020-02-26 09:31:31
Original
8775 Leute haben es durchsucht

Konvertierungsmethode für C-Sprachdatentypen

Methode zur Datentypkonvertierung in C-Sprache

Bei der Datentypkonvertierung werden Daten (Variablen, Werte, Ausdrucksergebnisse) konvertiert usw.) von einem Typ zum anderen.

Automatische Typkonvertierung

Automatische Typkonvertierung ist eine vom Compiler stillschweigend, implizit und heimlich durchgeführte Konvertierung geschehen automatisch.

1) Eine automatische Typkonvertierung erfolgt, wenn ein Datentyp einem anderen Variablentyp zugewiesen wird. Beispiel:

float f = 100;
Nach dem Login kopieren

100 sind Daten vom Typ int und müssen in den Typ „Nur Float“ konvertiert werden kann der Variablen f zugewiesen werden. Ein weiteres Beispiel:

int n = f;
Nach dem Login kopieren

f sind Daten vom Typ Float und müssen in den Typ int konvertiert werden, bevor sie der Variablen n zugewiesen werden können.

Wenn bei der Zuweisungsoperation die Datentypen auf beiden Seiten der Zuweisungsnummer unterschiedlich sind, muss der Typ des Ausdrucks auf der rechten Seite in den Typ der Variablen auf der linken Seite konvertiert werden, was dazu führen kann Datenverfälschung oder verringerte Genauigkeit; daher ist die automatische Eingabekonvertierung nicht unbedingt sicher. Compiler geben im Allgemeinen Warnungen vor unsicheren Typkonvertierungen aus.

2) Bei gemischten Operationen verschiedener Typen konvertiert der Compiler auch automatisch Datentypen, indem er alle an der Operation beteiligten Daten zuerst in denselben Typ konvertiert und dann Berechnungen durchführt. Die Konvertierungsregeln lauten wie folgt:

Die Konvertierung erfolgt in Richtung zunehmender Datenlänge, um sicherzustellen, dass der Wert nicht verzerrt oder die Genauigkeit nicht verringert wird. Wenn beispielsweise int und long an Operationen beteiligt sind, werden die Daten vom Typ int zunächst in den Typ long konvertiert und dann die Operation ausgeführt.

Alle Gleitkommaoperationen werden mit doppelter Genauigkeit ausgeführt. Auch wenn die Operation nur den Typ float enthält, muss sie in den Typ double konvertiert werden, bevor die Operation ausgeführt werden kann.

Wenn char und short an Operationen teilnehmen, müssen sie zuerst in den Typ int konvertiert werden.

Die folgende Abbildung beschreibt diese Konvertierungsregel anschaulicher:

unsigned ist auch unsigned int. Zu diesem Zeitpunkt können Sie int weglassen und einfach unsigned schreiben.

Beispiel für automatische Typkonvertierung:

#include<stdio.h>
int main(){
    float PI = 3.14159;
    int s1, r = 5;
    double s2;
    s1 = r * r * PI;
    s2 = r * r * PI;
    printf("s1=%d, s2=%f\n", s1, s2);
    return 0;
}
Nach dem Login kopieren

Laufendes Ergebnis:

s1=78, s2=78.539749
Nach dem Login kopieren

Bei der Berechnung des Ausdrucks r*r*PI werden sowohl r als auch PI in den Doppeltyp, Ausdruck The, konvertiert Das Ergebnis der Formel ist ebenfalls vom Typ double. Da s1 jedoch eine Ganzzahl ist, ist das Ergebnis der Zuweisungsoperation immer noch eine Ganzzahl und der Dezimalteil wird verworfen, was zu einer Datenverzerrung führt.

Weitere Inhalte zum Thema Programmierung finden Sie in der Spalte Einführung in die Programmierung auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonKonvertierungsmethode für C-Sprachdatentypen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!