C Academy · Les

Conversies tussen integers en floats

Aandachtspunten rond precisie

Les 3 van 413 stappen

Conversies tussen integers en floats is een gratis C Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject C Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus C Academy bevat in totaal 4 lessen.

Twee werelden van getallen

C kent gehele getallen (exact, zonder fractie) en kommagetallen (bij benadering, met een fractie). Als je ertussen converteert, verandert de manier waarop een waarde wordt opgeslagen.

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

int verbreden naar double

De meeste int-waarden passen exact in een double, dus verbreden is veilig.

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

double versmallen naar int

Bij de omzetting van double naar int wordt naar nul afgekapt, waardoor informatie verloren kan gaan.

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

Negatief afkappen

Afkappen naar nul betekent dat -2.9 -2 wordt, niet -3.

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

Precisie van float tegenover double

float bevat ongeveer 7 significante cijfers en double ongeveer 15. Bij het converteren van double naar float gaat precisie verloren.

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

Grote int naar float

Een zeer grote int kan in een float niet exact worden weergegeven, waardoor een afgerond resultaat ontstaat.

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

Afronden tegenover afkappen

Een cast kapt af. Tel voor positieve waarden eerst 0.5 op om af te ronden, of gebruik bibliotheekfuncties.

#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;
}

Een gemiddelde berekenen

Voor het middelen van gehele getallen heb je deling met kommagetallen nodig om de fractie te behouden.

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

Valkuil bij gelijkheid van floats

Omdat floats benaderingen zijn, is vergelijken met == riskant. Vergelijk binnen een kleine tolerantie.

#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;
}

Typen mengen in voorwaarden

Bij het vergelijken van een int met een double wordt de int gepromoveerd, waardoor de vergelijking met kommagetallen plaatsvindt.

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

Het juiste type kiezen

Gebruik gehele getallen voor aantallen en indexen; gebruik kommagetallen voor metingen en verhoudingen.

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

Korte controle

Test je begrip van conversies tussen gehele getallen en floats.

Samenvatting: conversies tussen gehele getallen en floats

Je hebt geleerd hoe getallen veranderen tussen typen.

  • int naar double wordt meestal veilig verbreed
  • double naar int wordt naar nul afgekapt
  • float bevat minder cijfers dan double
  • Rond af door 0.5 op te tellen of bibliotheekfuncties te gebruiken
  • Vermijd == voor floats; gebruik een tolerantie
Gratis beginnen

Leer C met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
39
Lessen
144

Veelgestelde vragen

Is de les “Conversies tussen integers en floats” gratis?

Ja — de volledige tekst van “Conversies tussen integers en floats” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus C Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus C Academy bevat in totaal 4 lessen.

Wat leer ik in “Conversies tussen integers en floats”?

Aandachtspunten rond precisie Je oefent met C Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met C Academy te beginnen?

Ervaring vooraf is niet nodig. C Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Conversies tussen integers en floats”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over C Academy?

Ja. Elke les over C Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Impliciete conversies
  2. Expliciete casts
  3. Conversies tussen integers en floats
  4. Conversievalkuilen
← Terug naar C Academy