Het gebruik van de standaard C include file <math.h>.

© Harry Broeders.

Deze pagina is bestemd voor studenten van de Haagse Hogeschool - TH Rijswijk/Academie voor Engineering.

De include file math.h is opgenomen in de C ANSI standaard. Deze headerfile bevat een aantal constanten en functies om te werken met het floating point getallen.

<math.h>

Diverse math functies en constanten.

Om math functies te kunnen gebruiken moet libm.a meegelinkt worden. Om floats te kunnen gebruiken met printf moet ook de library libprintf_flt.a meegelinkt worden:

Om printf met floats te kunnen gebruiken is daarnaast ook een extra Custom Linker Option nodig: -Wl,-u,vfprintf

Je moet eerst op de knop Custom Options klikken (links), vervolgens [Linker Options] selecteren en dan in het veld naast de Add knop intypen:

-Wl,-u,vfprintf

Tot slot moet je dan nog op de Add knop drukken.

Voorbeeld:

#include "lcdio.h"
#include <math.h>

int main(void) {
    double x=M_PI;
    printf("Dit is \xf7:");
    lcd_goto(1, 0);
    printf("%lf", x);
    while(1);
    return 0;
}

Nog een voorbeeld:

#include "lcdio.h"
#include <math.h>

int main(void) {
    float f=sin(1);
    double d=sin(1);
    printf("f=%.10f", f);
    lcd_goto(1, 0);
    printf("d=%.10lf", d);
    while(1);
    return 0;
}

Uitvoer:

f=0.8414710045
d=0.8414710045

Terwijl de rekenmachine zegt: 0,8414709848078965066525023216303

Dus zowel float als double hebben slechts 7 significante cijfers (32 bits floats). Klopt want sizeof(float) == sizeof(double) == 2.