0Pricing
C Academy · Lektion

Integer- und Float-Konvertierungen

Fragen der Präzision

Integer- und Float-Konvertierungen ist eine kostenlose C Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.

Zwei Zahlenwelten

C kennt Ganzzahlen, die exakt und ohne Nachkommateil sind, und Gleitkommazahlen, die Näherungswerte mit Nachkommateil sind. Eine Konvertierung zwischen ihnen verändert die Speicherung eines Werts.

#include <stdio.h>
int main(void) {
    int i = 10;
    double d = 10.5;
    printf("%d %.1f\n", i, d);
    return 0;
}

int zu double erweitern

Die meisten int-Werte können in einem double exakt dargestellt werden, daher ist die Erweiterung sicher.

#include <stdio.h>
int main(void) {
    int n = 1000;
    double d = n;
    printf("d = %.1f\n", d);
    return 0;
}

double zu int verkleinern

Bei der Konvertierung von double zu int wird in Richtung null abgeschnitten, wodurch Informationen verloren gehen können.

#include <stdio.h>
int main(void) {
    double d = 12.75;
    int n = (int)d;
    printf("n = %d\n", n);
    return 0;
}

Negative Werte abschneiden

Abschneiden in Richtung null bedeutet: -2.9 wird zu -2, nicht zu -3.

#include <stdio.h>
int main(void) {
    double d = -2.9;
    int n = (int)d;
    printf("n = %d\n", n);
    return 0;
}

Genauigkeit von float und double

float speichert etwa 7 signifikante Ziffern, double etwa 15. Bei der Konvertierung von double zu float geht Genauigkeit verloren.

#include <stdio.h>
int main(void) {
    double d = 3.14159265358979;
    float f = (float)d;
    printf("%.5f\n", f);
    return 0;
}

Große int-Werte zu float

Ein sehr großer int kann in einem float möglicherweise nicht exakt dargestellt werden, wodurch ein gerundetes Ergebnis entsteht.

#include <stdio.h>
int main(void) {
    int big = 16777217;
    float f = (float)big;
    printf("%.1f\n", f);
    return 0;
}

Runden oder abschneiden

Ein Cast schneidet ab. Zum Runden addieren Sie zuerst 0.5, sofern der Wert positiv ist, oder verwenden Sie Bibliotheksfunktionen.

#include <stdio.h>
int main(void) {
    double d = 4.6;
    int truncated = (int)d;
    int rounded = (int)(d + 0.5);
    printf("%d %d\n", truncated, rounded);
    return 0;
}

Durchschnitt berechnen

Für den Durchschnitt von Ganzzahlen benötigen Sie eine Gleitkommadivision, damit der Nachkommateil erhalten bleibt.

#include <stdio.h>
int main(void) {
    int sum = 7, count = 2;
    double avg = (double)sum / count;
    printf("avg = %.2f\n", avg);
    return 0;
}

Fallstrick beim Vergleich von Gleitkommazahlen

Da Gleitkommazahlen Näherungswerte sind, ist ein Vergleich mit == riskant. Vergleichen Sie innerhalb einer kleinen Toleranz.

#include <stdio.h>
#include <math.h>
int main(void) {
    double a = 0.1 + 0.2;
    if (fabs(a - 0.3) < 1e-9)
        printf("close enough\n");
    return 0;
}

Mischen in Bedingungen

Beim Vergleich eines int mit einem double wird der int hochgestuft, sodass der Vergleich als Gleitkommaoperation erfolgt.

#include <stdio.h>
int main(void) {
    int n = 3;
    double d = 3.5;
    if (n < d)
        printf("3 < 3.5\n");
    return 0;
}

Den richtigen Typ wählen

Verwenden Sie Ganzzahlen für Zähler und Indizes und Gleitkommazahlen für Messwerte und Verhältnisse.

#include <stdio.h>
int main(void) {
    int items = 4;
    double pricePer = 2.5;
    printf("total = %.2f\n", items * pricePer);
    return 0;
}

Kurzer Test

Testen Sie Ihr Verständnis der Konvertierung zwischen Ganzzahlen und Gleitkommazahlen.

Rückblick: Konvertierungen zwischen Ganzzahlen und Gleitkommazahlen

Sie haben gelernt, wie sich Zahlen beim Wechsel des Typs verändern.

  • int wird normalerweise sicher zu double erweitert
  • double wird in Richtung null zu int abgeschnitten
  • float speichert weniger Ziffern als double
  • Runden Sie durch Addition von 0.5 oder mithilfe von Bibliotheksfunktionen
  • Vermeiden Sie == bei Gleitkommazahlen und verwenden Sie eine Toleranz

Häufig gestellte Fragen

Ist die Lektion „Integer- und Float-Konvertierungen“ kostenlos?

Ja — der vollständige Text von „Integer- und Float-Konvertierungen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Integer- und Float-Konvertierungen“?

Fragen der Präzision Du übst C Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C Academy zu starten?

Keine Vorkenntnisse erforderlich. C Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Integer- und Float-Konvertierungen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C Academy-Lektion Code schreiben und ausführen?

Ja. Jede C Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Implizite Konvertierungen
  2. Explizite Casts
  3. Integer- und Float-Konvertierungen
  4. Fallstricke bei Konvertierungen
← Zurück zu C Academy